From b70cfb3a82cf46ad71c139fb2f2835943df92bf0 Mon Sep 17 00:00:00 2001 From: paul Date: Wed, 16 Apr 2008 08:28:44 +0000 Subject: [PATCH] ide: load unit source buffer if it was not loaded before in LoadDependencyHidden, improve verbosity git-svn-id: trunk@14848 - --- components/codetools/codetoolmanager.pas | 2 ++ ide/main.pp | 12 +++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/components/codetools/codetoolmanager.pas b/components/codetools/codetoolmanager.pas index 1fb58cfdf5..3b1e6405d9 100644 --- a/components/codetools/codetoolmanager.pas +++ b/components/codetools/codetoolmanager.pas @@ -1454,6 +1454,8 @@ begin MainCode:=GetMainCode(Code); if MainCode=nil then begin fErrorMsg:='TCodeToolManager.InitCurCodeTool MainCode=nil'; + if Code = nil then + fErrorMsg := fErrorMsg + ' Code=nil'; exit; end; if MainCode.Scanner=nil then begin diff --git a/ide/main.pp b/ide/main.pp index 7fd2cf163b..56c9ab591c 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -5592,7 +5592,7 @@ var function LoadDependencyHidden(const RefRootName: string): TModalResult; var LFMFilename: String; - LFMCode: TCodeBuffer; + UnitCode, LFMCode: TCodeBuffer; ModalResult: TModalResult; UnitFilename: String; RefUnitInfo: TUnitInfo; @@ -5620,6 +5620,16 @@ var Project1.AddFile(RefUnitInfo,false); end; + if RefUnitInfo.Source = nil then + begin + ModalResult := LoadCodeBuffer(UnitCode, UnitFileName, [lbfCheckIfText]); + if ModalResult<>mrOk then begin + debugln('TMainIDE.DoFixupComponentReferences Failed loading ',UnitFilename); + exit(mrCancel); + end; + RefUnitInfo.Source := UnitCode; + end; + // load resource hidden Result:=DoLoadLFM(RefUnitInfo,LFMCode, OpenFlags+[ofLoadHiddenResource],[]);