mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-26 21:09:12 +02:00
fixed removing package link
git-svn-id: trunk@4115 -
This commit is contained in:
parent
02dfdb0891
commit
9b9a5da111
@ -862,6 +862,7 @@ destructor TBuildLazarusOptions.Destroy;
|
||||
begin
|
||||
Clear;
|
||||
fStaticAutoInstallPackages.Free;
|
||||
fItems.Free;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
|
@ -608,18 +608,18 @@ var
|
||||
begin
|
||||
BeginUpdate;
|
||||
// remove from user links
|
||||
ANode:=FUserLinks.Find(APackageID);
|
||||
ANode:=FUserLinks.FindKey(APackageID,@ComparePackageIDAndLink);
|
||||
if ANode<>nil then begin
|
||||
OldLink:=TPackageLink(ANode.Data);
|
||||
FUserLinks.Remove(ANode);
|
||||
FUserLinks.Delete(ANode);
|
||||
OldLink.Free;
|
||||
Modified:=true;
|
||||
end;
|
||||
// remove from global links
|
||||
ANode:=FGlobalLinks.Find(APackageID);
|
||||
ANode:=FGlobalLinks.FindKey(APackageID,@ComparePackageIDAndLink);
|
||||
if ANode<>nil then begin
|
||||
OldLink:=TPackageLink(ANode.Data);
|
||||
FGlobalLinks.Remove(ANode);
|
||||
FGlobalLinks.Delete(ANode);
|
||||
OldLink.Free;
|
||||
Modified:=true;
|
||||
end;
|
||||
|
@ -330,11 +330,13 @@ begin
|
||||
if not NewPackage.MakeSense then exit;
|
||||
if PkgLink.Compare(NewPackage)<>0 then exit;
|
||||
// ok
|
||||
Result:=true;
|
||||
AddPackage(NewPackage);
|
||||
finally
|
||||
if not Result then
|
||||
NewPackage.Free;
|
||||
EndUpdate;
|
||||
end;
|
||||
Result:=true;
|
||||
end;
|
||||
|
||||
constructor TLazPackageGraph.Create;
|
||||
@ -356,6 +358,7 @@ begin
|
||||
if OnGetAllRequiredPackages=@GetAllRequiredPackages then
|
||||
OnGetAllRequiredPackages:=nil;
|
||||
Clear;
|
||||
FLazarusBasePackages.Free;
|
||||
FItems.Free;
|
||||
FTree.Free;
|
||||
inherited Destroy;
|
||||
|
@ -1257,7 +1257,15 @@ begin
|
||||
end;
|
||||
|
||||
destructor TPkgManager.Destroy;
|
||||
var
|
||||
Dependency: TPkgDependency;
|
||||
begin
|
||||
while FirstAutoInstallDependency<>nil do begin
|
||||
Dependency:=FirstAutoInstallDependency;
|
||||
Dependency.RequiredPackage:=nil;
|
||||
Dependency.RemoveFromList(FirstAutoInstallDependency,pdlRequires);
|
||||
Dependency.Free;
|
||||
end;
|
||||
FreeThenNil(PackageGraphExplorer);
|
||||
FreeThenNil(PackageEditors);
|
||||
FreeThenNil(PackageGraph);
|
||||
|
Loading…
Reference in New Issue
Block a user