Browse Source

pas2js: fixed mem leak resources

mattias 3 years ago
parent
commit
31c8934071

+ 2 - 0
packages/pastojs/src/pas2jscompiler.pp

@@ -3049,6 +3049,7 @@ end;
 
 procedure TPas2jsCompiler.CreateResourceSupport;
 begin
+  FreeAndNil(FResources);
   Case FResourceMode of
     rmNone : FResources:=TNoResources.Create(FS);
     rmHTML : FResources:=THTMLResourceLinkHandler.Create(FS);
@@ -4315,6 +4316,7 @@ destructor TPas2jsCompiler.Destroy;
 
   procedure FreeStuff;
   begin
+    FreeAndNil(FResources);
     FreeAndNil(FImports);
     FreeAndNil(FResourceStrings);
     FreeAndNil(FNamespaces);

+ 1 - 4
packages/pastojs/src/pas2jshtmlresources.pp

@@ -15,7 +15,7 @@ Type
   Private
     FLinkType: string;
     FPrefix: String;
-    FResources : tstrings;
+    FResources: TStrings;
   Protected
     function GetResourceCount: Integer; override;
     function GetAsString: String; override;
@@ -59,7 +59,6 @@ Var
   S : String;
   aFormat,ResourceName : String;
 
-
 begin
   S:=GetFileAsBase64(aFileName);
   aFormat:=GetFormat(aFileName,Options);
@@ -82,7 +81,6 @@ begin
   Result:=romFile;
 end;
 
-
 class function THTMLResourceLinkHandler.OutputFileExtension: String;
 begin
   Result:='.html';
@@ -100,7 +98,6 @@ begin
   if IsMainFile then ;
 end;
 
-
 destructor THTMLResourceLinkHandler.Destroy;
 begin
   FreeAndNil(FResources);