IDE: package editor: fixed check if package provides another package

git-svn-id: trunk@14717 -
This commit is contained in:
mattias 2008-04-01 15:26:36 +00:00
parent 9f9ab8fcfb
commit 58cbd83556
4 changed files with 11 additions and 5 deletions

View File

@ -2,7 +2,7 @@
#
# Makefile.fpc for Printer4Lazarus 0.5
#
# This file was generated on 26-3-08
# This file was generated on 1-4-08
[package]
name=printer4lazarus

View File

@ -2939,9 +2939,12 @@ function TLazPackage.ProvidesPackage(const AName: string): boolean;
var
i: Integer;
begin
if AName='' then exit(false);
for i:=0 to Provides.Count-1 do
if SysUtils.CompareText(Provides[i],AName)=0 then
if SysUtils.CompareText(Provides[i],AName)=0 then begin
//DebugLn(['TLazPackage.ProvidesPackage AName=',AName,' Provides[i]="',Provides[i],'"']);
exit(true);
end;
Result:=false;
end;

View File

@ -827,6 +827,7 @@ function TLazPackageGraph.FindPackageProvidingName(
end;
ADependency:=ADependency.NextRequiresDependency;
end;
Found:=nil;
Result:=false;
end;

View File

@ -2154,6 +2154,7 @@ function TPkgManager.AddProjectDependency(AProject: TProject;
APackage: TLazPackage; OnlyTestIfPossible: boolean): TModalResult;
var
NewDependency: TPkgDependency;
ProvidingAPackage: TLazPackage;
begin
Result:=mrCancel;
@ -2165,11 +2166,12 @@ begin
Result:=mrCancel;
exit;
end;
if PackageGraph.FindPackageProvidingName(AProject.FirstRequiredDependency,
APackage.Name)<>nil then
ProvidingAPackage:=PackageGraph.FindPackageProvidingName(
AProject.FirstRequiredDependency,APackage.Name);
if ProvidingAPackage<>nil then
begin
DebugLn(['TPkgManager.AddProjectDependency ',APackage.Name,' is already provided by another package']);
// package is already provided by another package
DebugLn(['TPkgManager.AddProjectDependency ',APackage.Name,' is already provided by ',ProvidingAPackage.IDAsString]);
Result:=mrCancel;
exit;
end;