diff --git a/ide/buildmanager.pas b/ide/buildmanager.pas index 8c36f67304..c6d264c81a 100644 --- a/ide/buildmanager.pas +++ b/ide/buildmanager.pas @@ -357,7 +357,7 @@ end; destructor TBuildManager.Destroy; begin - FreeAndNil(ExternalTools); + ExternalTools.Free; // sets ExternalTools to nil, do not use FreeAndNil! GetBuildMacroValues:=nil; OnAppendCustomOption:=nil; @@ -530,9 +530,13 @@ begin end; procedure TBuildManager.SetupExternalTools(aToolsClass: TExternalToolsClass); +var + Tools: TExternalTools; begin // setup the external tool queue - ExternalTools:=aToolsClass.Create(Self); + Tools:=aToolsClass.Create(Self); + if Tools<>ExternalTools then + raise Exception.Create('TBuildManager.SetupExternalTools ExternalTools='+DbgSName(ExternalTools)); EnvOptsChanged; RegisterFPCParser; RegisterPas2jsParser; diff --git a/ide/lazbuild.lpi b/ide/lazbuild.lpi index 39a5cc8f2e..f09245f8e6 100644 --- a/ide/lazbuild.lpi +++ b/ide/lazbuild.lpi @@ -43,6 +43,9 @@ + + +