From 0bee7cfd8027d394a4e2f1228d9b1136b75fdc01 Mon Sep 17 00:00:00 2001 From: mattias Date: Tue, 2 Oct 2007 20:52:00 +0000 Subject: [PATCH] IDE: added flag if packagesystem should free link in RemoveLink git-svn-id: trunk@12297 - --- packager/packagelinks.pas | 9 +++++---- packager/packagesystem.pas | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packager/packagelinks.pas b/packager/packagelinks.pas index 07ee487fef..69730efb02 100644 --- a/packager/packagelinks.pas +++ b/packager/packagelinks.pas @@ -150,7 +150,7 @@ type procedure IteratePackages(MustExist: boolean; Event: TIteratePackagesEvent); function AddUserLink(APackage: TLazPackage): TPackageLink; function AddUserLink(const PkgFilename, PkgName: string): TPackageLink; - procedure RemoveLink(APackageID: TLazPackageID); + procedure RemoveLink(APackageID: TLazPackageID; FreeID: boolean); public property Modified: boolean read FModified write SetModified; property DependencyOwnerGetPkgFilename: TDependencyOwnerGetPkgFilename @@ -756,7 +756,7 @@ begin Result:=OldLink; exit; end; - RemoveLink(APackage); + RemoveLink(APackage,false); end; // add user link NewLink:=TPackageLink.Create; @@ -806,7 +806,7 @@ begin Result:=NewLink; end; -procedure TPackageLinks.RemoveLink(APackageID: TLazPackageID); +procedure TPackageLinks.RemoveLink(APackageID: TLazPackageID; FreeID: boolean); var ANode: TAVLTreeNode; OldLink: TPackageLink; @@ -831,7 +831,8 @@ begin OldLink.Free; Modified:=true; end; - APackageID.Free; + if FreeID then + APackageID.Free; EndUpdate; end; diff --git a/packager/packagesystem.pas b/packager/packagesystem.pas index 39c4b73473..ad926ed824 100644 --- a/packager/packagesystem.pas +++ b/packager/packagesystem.pas @@ -3339,7 +3339,7 @@ begin PkgLink:=PkgLinks.FindLinkWithDependency(Dependency); if (PkgLink=nil) then break; if OpenDependencyWithPackageLink(Dependency,PkgLink) then break; - PkgLinks.RemoveLink(PkgLink); + PkgLinks.RemoveLink(PkgLink,true); until false; if (Dependency.LoadPackageResult=lprNotFound) and (Dependency.DefaultFilename<>'') then begin @@ -3360,7 +3360,7 @@ begin PkgLink:=PkgLinks.AddUserLink(AFilename,Dependency.PackageName); if (PkgLink<>nil) then begin if not OpenDependencyWithPackageLink(Dependency,PkgLink) then - PkgLinks.RemoveLink(PkgLink); + PkgLinks.RemoveLink(PkgLink,true); end; end; end; @@ -3377,7 +3377,7 @@ begin PkgLink:=PkgLinks.AddUserLink(AFilename,Dependency.PackageName); if (PkgLink<>nil) then begin if not OpenDependencyWithPackageLink(Dependency,PkgLink) then - PkgLinks.RemoveLink(PkgLink); + PkgLinks.RemoveLink(PkgLink,true); end; end; end;