diff --git a/packager/packagelinks.pas b/packager/packagelinks.pas index b885a4d5f1..b091ed66e5 100644 --- a/packager/packagelinks.pas +++ b/packager/packagelinks.pas @@ -722,12 +722,18 @@ procedure TPackageLinks.IteratePackagesInTree(MustExist: boolean; var ANode: TAVLTreeNode; PkgLink: TPackageLink; + AFilename: String; begin ANode:=LinkTree.FindLowest; while ANode<>nil do begin PkgLink:=TPackageLink(ANode.Data); //debugln('TPackageLinks.IteratePackagesInTree PkgLink.Filename=',PkgLink.Filename); - if (not MustExist) or FileExistsUTF8(PkgLink.Filename) then + AFilename:=PkgLink.Filename; + if not FilenameIsAbsolute(AFilename) + and (EnvironmentOptions.LazarusDirectory<>'') then begin + AFilename:=TrimFilename(EnvironmentOptions.LazarusDirectory+PathDelim+AFilename); + end; + if (not MustExist) or FileExistsUTF8(AFilename) then Event(PkgLink); ANode:=LinkTree.FindSuccessor(ANode); end; diff --git a/packager/packagesystem.pas b/packager/packagesystem.pas index 3ffd01fc85..5f1b4ff895 100644 --- a/packager/packagesystem.pas +++ b/packager/packagesystem.pas @@ -450,7 +450,8 @@ begin BeginUpdate(false); try AFilename:=PkgLink.Filename; - if not FilenameIsAbsolute(AFilename) then begin + if (not FilenameIsAbsolute(AFilename)) + and (EnvironmentOptions.LazarusDirectory<>'') then begin // a package in the lazarus sources AFilename:=TrimFilename(EnvironmentOptions.LazarusDirectory+PathDelim+AFilename); end;