From 43444ab7f0680d1b1b003aae5ab5a251e7d4e298 Mon Sep 17 00:00:00 2001 From: mattias Date: Sat, 4 Jun 2022 22:49:29 +0200 Subject: [PATCH] fcl-passrc: fixed releasing modules of a package --- packages/fcl-passrc/src/pastree.pp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/fcl-passrc/src/pastree.pp b/packages/fcl-passrc/src/pastree.pp index 8b87b4bdc7..a466cf67bd 100644 --- a/packages/fcl-passrc/src/pastree.pp +++ b/packages/fcl-passrc/src/pastree.pp @@ -3365,9 +3365,15 @@ end; destructor TPasPackage.Destroy; var i: Integer; + aModule: TPasModule; begin for i := 0 to Modules.Count - 1 do - TPasModule(Modules[i]).Release{$IFDEF CheckPasTreeRefCount}('TPasPackage.Modules'){$ENDIF}; + begin + aModule:=TPasModule(Modules[i]); + if aModule.Parent=Self then + aModule.Parent:=nil; + aModule.Release{$IFDEF CheckPasTreeRefCount}('TPasPackage.Modules'){$ENDIF}; + end; FreeAndNil(Modules); inherited Destroy; end;