mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-12-11 22:00:30 +01:00
Packager: Prevent Access Violation when creating a new component. Dependency was wrongly created. Issue #35145.
git-svn-id: trunk@60635 -
This commit is contained in:
parent
cabd06ba0c
commit
eb0c8c9342
@ -50,7 +50,6 @@ type
|
|||||||
TAddToPkgResult = class
|
TAddToPkgResult = class
|
||||||
public
|
public
|
||||||
Pkg: TLazPackage;
|
Pkg: TLazPackage;
|
||||||
Dependency: TPkgDependency;
|
|
||||||
UnitFilename: string;
|
UnitFilename: string;
|
||||||
Unit_Name: string;
|
Unit_Name: string;
|
||||||
AncestorType: string;
|
AncestorType: string;
|
||||||
@ -520,7 +519,7 @@ begin
|
|||||||
if (LazPackage<>ARequiredPackage)
|
if (LazPackage<>ARequiredPackage)
|
||||||
and not LazPackage.Requires(PkgComponent.PkgFile.LazPackage)
|
and not LazPackage.Requires(PkgComponent.PkgFile.LazPackage)
|
||||||
then
|
then
|
||||||
fParams.Dependency:=ARequiredPackage.CreateDependencyWithOwner(nil);
|
PackageGraph.AddDependencyToPackage(LazPackage, ARequiredPackage);
|
||||||
end;
|
end;
|
||||||
ModalResult:=mrOk;
|
ModalResult:=mrOk;
|
||||||
end;
|
end;
|
||||||
@ -657,7 +656,6 @@ end;
|
|||||||
|
|
||||||
procedure TAddToPkgResult.Clear;
|
procedure TAddToPkgResult.Clear;
|
||||||
begin
|
begin
|
||||||
FreeAndNil(Dependency);
|
|
||||||
UnitFilename:='';
|
UnitFilename:='';
|
||||||
Unit_Name:='';
|
Unit_Name:='';
|
||||||
AncestorType:='';
|
AncestorType:='';
|
||||||
@ -674,7 +672,6 @@ end;
|
|||||||
destructor TAddToPkgResult.Destroy;
|
destructor TAddToPkgResult.Destroy;
|
||||||
begin
|
begin
|
||||||
FreeThenNil(Next);
|
FreeThenNil(Next);
|
||||||
FreeAndNil(Dependency);
|
|
||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|||||||
@ -2146,11 +2146,6 @@ var
|
|||||||
LazPackage.Modified:=True;
|
LazPackage.Modified:=True;
|
||||||
FreeAndNil(FNextSelectedPart);
|
FreeAndNil(FNextSelectedPart);
|
||||||
FNextSelectedPart:=TPENodeData.Create(penFile, UnitFilename, false);
|
FNextSelectedPart:=TPENodeData.Create(penFile, UnitFilename, false);
|
||||||
// add dependency
|
|
||||||
if (Dependency<>nil) and not PkgDependsOn(Dependency.PackageName) then
|
|
||||||
PackageGraph.AddDependencyToPackage(LazPackage, Dependency);
|
|
||||||
if (IconNormFile<>'') and not PkgDependsOn('LCL') then
|
|
||||||
PackageGraph.AddDependencyToPackage(LazPackage, PackageGraph.LCLPackage);
|
|
||||||
PackageEditors.DeleteAmbiguousFiles(LazPackage, UnitFilename);
|
PackageEditors.DeleteAmbiguousFiles(LazPackage, UnitFilename);
|
||||||
end;
|
end;
|
||||||
// open file in editor
|
// open file in editor
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user