From a6a3f56624d9d45da8a813fede5e06f142f80776 Mon Sep 17 00:00:00 2001 From: mattias Date: Mon, 4 Dec 2006 00:37:36 +0000 Subject: [PATCH] IDE: added checks for cleaning up codetools defines for packages and projects git-svn-id: trunk@10285 - --- ide/project.pp | 8 +++++++- packager/packagedefs.pas | 8 ++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/ide/project.pp b/ide/project.pp index d399b471d3..3825fad39d 100644 --- a/ide/project.pp +++ b/ide/project.pp @@ -4250,7 +4250,7 @@ end; procedure TProjectDefineTemplates.Clear; begin if FMain<>nil then begin - if CodeToolBoss<>nil then + if (CodeToolBoss<>nil) and (FMain<>nil) then CodeToolBoss.DefineTree.RemoveDefineTemplate(FMain); FMain:=nil; FSrcDirIfDef:=nil; @@ -4258,6 +4258,12 @@ begin FOutPutSrcPath:=nil; FOutputDir:=nil; FFlags:=FFlags+[ptfFlagsChanged]; + fLastOutputDirSrcPathIDAsString:=''; + FLastCustomOptions:=''; + if fLastSourceDirectories<>nil then + fLastSourceDirectories.Clear; + fLastSourceDirsIDAsString:=''; + fLastUnitPath:=''; end; end; diff --git a/packager/packagedefs.pas b/packager/packagedefs.pas index f419cec15e..7cbd7e88aa 100644 --- a/packager/packagedefs.pas +++ b/packager/packagedefs.pas @@ -3636,14 +3636,18 @@ end; procedure TLazPackageDefineTemplates.Clear; begin if FMain<>nil then begin - fLastSourceDirectories.Clear; - CodeToolBoss.DefineTree.RemoveDefineTemplate(FMain); + if (CodeToolBoss<>nil) and (FMain<>nil) then + CodeToolBoss.DefineTree.RemoveDefineTemplate(FMain); FMain:=nil; FOutputDir:=nil; FOutPutSrcPath:=nil; FSrcDirectories:=nil; fLastOutputDirSrcPathIDAsString:=''; FLastCustomOptions:=''; + fLastUnitPath:=''; + fLastSourceDirsIDAsString:=''; + if fLastSourceDirectories<>nil then + fLastSourceDirectories.Clear; FFlags:=FFlags+[pdtIDChanged,pdtOutputDirChanged,pdtSourceDirsChanged, pdtCustomDefinesChanged]; end;