mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-14 08:59:13 +02:00
Packager: Add a check for DefineTemplates. Crashed when an old package with the same name was replaced.
This commit is contained in:
parent
9e41ef446f
commit
0a679e84b2
@ -2141,9 +2141,13 @@ begin
|
|||||||
UpdateBrokenDependenciesToPackage(APackage);
|
UpdateBrokenDependenciesToPackage(APackage);
|
||||||
|
|
||||||
// activate define templates
|
// activate define templates
|
||||||
APackage.DefineTemplates.Active:=true;
|
if Assigned(APackage.DefineTemplates) then
|
||||||
|
APackage.DefineTemplates.Active:=true
|
||||||
if Assigned(OnAddPackage) then OnAddPackage(APackage);
|
else // By Juha:
|
||||||
|
// Happened when an old package with the same name was replaced. Cannot reproduce.
|
||||||
|
DebugLn(['TLazPackageGraph.AddPackage: APackage.DefineTemplates=Nil']);
|
||||||
|
if Assigned(OnAddPackage) then
|
||||||
|
OnAddPackage(APackage);
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2185,9 +2189,8 @@ begin
|
|||||||
OldInstalled:=OldPackage.Installed;
|
OldInstalled:=OldPackage.Installed;
|
||||||
OldAutoInstall:=OldPackage.AutoInstall;
|
OldAutoInstall:=OldPackage.AutoInstall;
|
||||||
OldEditor:=OldPackage.Editor;
|
OldEditor:=OldPackage.Editor;
|
||||||
if OldEditor<>nil then begin
|
if OldEditor<>nil then
|
||||||
OldEditor.LazPackage:=nil;
|
OldEditor.LazPackage:=nil;
|
||||||
end;
|
|
||||||
// migrate components
|
// migrate components
|
||||||
for i:=0 to OldPackage.FileCount-1 do
|
for i:=0 to OldPackage.FileCount-1 do
|
||||||
MoveInstalledComponents(OldPackage.Files[i]);
|
MoveInstalledComponents(OldPackage.Files[i]);
|
||||||
@ -2201,9 +2204,8 @@ begin
|
|||||||
NewPackage.AutoInstall:=OldAutoInstall;
|
NewPackage.AutoInstall:=OldAutoInstall;
|
||||||
// add package to graph
|
// add package to graph
|
||||||
AddPackage(NewPackage);
|
AddPackage(NewPackage);
|
||||||
if OldEditor<>nil then begin
|
if OldEditor<>nil then
|
||||||
OldEditor.LazPackage:=NewPackage;
|
OldEditor.LazPackage:=NewPackage;
|
||||||
end;
|
|
||||||
EndUpdate;
|
EndUpdate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -2214,8 +2216,7 @@ procedure TLazPackageGraph.LoadStaticBasePackages;
|
|||||||
Dependency: TPkgDependency;
|
Dependency: TPkgDependency;
|
||||||
Quiet: Boolean;
|
Quiet: Boolean;
|
||||||
begin
|
begin
|
||||||
if FindDependencyByNameInList(FirstAutoInstallDependency,pddRequires,
|
if FindDependencyByNameInList(FirstAutoInstallDependency,pddRequires,PkgName)<>nil
|
||||||
PkgName)<>nil
|
|
||||||
then
|
then
|
||||||
exit;
|
exit;
|
||||||
Dependency:=TPkgDependency.Create;
|
Dependency:=TPkgDependency.Create;
|
||||||
|
Loading…
Reference in New Issue
Block a user