From ca503d94f359ee66e1d2f2954bb404f3e0b66bfb Mon Sep 17 00:00:00 2001 From: juha Date: Tue, 17 Mar 2015 22:51:49 +0000 Subject: [PATCH] Packager: Reveal a Nil reference bug with assertions. git-svn-id: trunk@48408 - --- packager/interpkgconflictfiles.pas | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packager/interpkgconflictfiles.pas b/packager/interpkgconflictfiles.pas index 0564930dc5..f6809a61d6 100644 --- a/packager/interpkgconflictfiles.pas +++ b/packager/interpkgconflictfiles.pas @@ -155,7 +155,9 @@ var F1: TPGInterPkgFile absolute File1; F2: TPGInterPkgFile absolute File2; begin - Result:=CompareDottedIdentifiers(PChar(Pointer(F1.AnUnitName)),PChar(Pointer(F2.AnUnitName))); + Assert(Assigned(F1), 'ComparePGInterPkgUnitnames: File1=Nil.'); + Assert(Assigned(F2), 'ComparePGInterPkgUnitnames: File2=Nil.'); + Result:=CompareDottedIdentifiers(PChar(F1.AnUnitName),PChar(F2.AnUnitName)); end; function ComparePGInterPkgShortFilename(File1, File2: Pointer): integer; @@ -863,8 +865,10 @@ var continue; //debugln(['CheckPPUFilesInWrongDirs duplicate units found: file1="',CurUnit.FullFilename,'"(',CurUnit.OwnerInfo.Name,') file2="',OtherFile.FullFilename,'"(',OtherFile.OwnerInfo.Name,')']); FindUnitSourcePPU(OtherFile,OtherPPUFile); - if FileGroup=nil then + if FileGroup=nil then begin FindUnitSourcePPU(CurUnit,PPUFile); + Assert(Assigned(CurUnit), 'CheckDuplicateUnits: FindUnitSourcePPU() changed CurUnit to Nil. Not good!'); + end; if (CurUnit<>nil) and (OtherFile<>nil) and (CompareFilenames(CurUnit.FullFilename,OtherFile.FullFilename)=0) then begin