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:
juha 2019-03-09 17:29:35 +00:00
parent cabd06ba0c
commit eb0c8c9342
2 changed files with 1 additions and 9 deletions

View File

@ -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;

View File

@ -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