ソースを参照

* avoid double free when reusing chmsitemap objects

git-svn-id: trunk@11884 -
marco 17 年 前
コミット
d6c5cacd80
1 ファイル変更3 行追加2 行削除
  1. 3 2
      packages/chm/src/chmsitemap.pas

+ 3 - 2
packages/chm/src/chmsitemap.pas

@@ -277,6 +277,7 @@ begin
   FSiteMapType := AType;
   FSiteMapTags := [smtNone];
   FSiteMapBodyTags := [smbtNone];
+  FHTMLParser:=nil;
   FItems := TChmSiteMapItems.Create(Self, nil);  ;
 end;
 
@@ -302,7 +303,7 @@ begin
   FHTMLParser.OnFoundTag := @FoundTag;
   FHTMLParser.OnFoundText := @FoundText;
   FHTMLParser.Exec;
-  FHTMLParser.Free;
+  FreeAndNil(FHTMLParser);
 end;
 
 procedure TChmSiteMap.LoadFromStream(AStream: TStream);
@@ -316,7 +317,7 @@ begin
     FHTMLParser.OnFoundTag := @FoundTag;
     FHTMLParser.OnFoundText := @FoundText;
     FHTMLParser.Exec;
-    FHTMLParser.Free;
+    FreeAndNil(FHTMLParser);
   end;
 end;