From 379ed5300f337edd99bfe4aea3fcbed1e3753165 Mon Sep 17 00:00:00 2001 From: mattias Date: Wed, 10 May 2017 15:20:37 +0000 Subject: [PATCH] IDE: fixed switching build mode in options dialog, bug #31787 git-svn-id: trunk@54855 - --- ide/buildmodesmanager.pas | 7 +++++-- ide/frames/compiler_config_target.pas | 5 ++++- ide/main.pp | 2 ++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ide/buildmodesmanager.pas b/ide/buildmodesmanager.pas index d28783f88e..1d3986d7e8 100644 --- a/ide/buildmodesmanager.pas +++ b/ide/buildmodesmanager.pas @@ -33,8 +33,9 @@ uses Classes, SysUtils, Forms, Controls, Dialogs, StdCtrls, Grids, Menus, ComCtrls, ButtonPanel, LCLProc, IDEOptionsIntf, IDEDialogs, - TransferMacros, Project, CompilerOptions, Compiler_ModeMatrix, BuildModeDiffDlg, - EnvironmentOpts, LazarusIDEStrConsts; + TransferMacros, Project, CompilerOptions, + EnvironmentOpts, LazarusIDEStrConsts, + BaseBuildManager, Compiler_ModeMatrix, BuildModeDiffDlg; type @@ -145,6 +146,8 @@ procedure SwitchBuildMode(aBuildModeID: string); begin OnSaveIDEOptionsHook(Nil, Project1.CompilerOptions); // Save changes Project1.ActiveBuildModeID := aBuildModeID; // Switch + IncreaseBuildMacroChangeStamp; + BuildBoss.SetBuildTargetProject1; OnLoadIDEOptionsHook(Nil, Project1.CompilerOptions); // Load options end; diff --git a/ide/frames/compiler_config_target.pas b/ide/frames/compiler_config_target.pas index 938472f970..e3338440f0 100644 --- a/ide/frames/compiler_config_target.pas +++ b/ide/frames/compiler_config_target.pas @@ -198,6 +198,7 @@ begin if not IDEMacros.SubstituteMacros(AValue) then AValue := ''; end; + //debugln(['TCompilerConfigTargetFrame.UpdateWidgetSet ',AValue]); CurrentWidgetTypeLabel.Caption := Format(lisCurrentLCLWidgetSet, [AValue]); end; @@ -251,6 +252,7 @@ procedure TCompilerConfigTargetFrame.Setup(ADialog: TAbstractOptionsEditorDialog var s: ShortString; begin + //debugln(['TCompilerConfigTargetFrame.Setup ']); FDialog := ADialog; // Config grbConfigFile.Caption := dlgConfigFiles; @@ -285,7 +287,6 @@ begin grbTargetOptions.Caption := dlgTargetSpecificOptions; chkWin32GraphicApp.Caption := dlgWin32GUIApp + ' (-WG)'; // WidgetSet - UpdateWidgetSet; LCLWidgetTypeLabel.Caption := lisSelectAnotherLCLWidgetSet; end; @@ -336,6 +337,8 @@ begin chkWin32GraphicApp.Checked := Win32GraphicApp; chkWin32GraphicApp.Enabled := NeedsLinkerOpts; end; + + UpdateWidgetSet; end; procedure TCompilerConfigTargetFrame.WriteSettings(AOptions: TAbstractIDEOptions); diff --git a/ide/main.pp b/ide/main.pp index a833714b6d..1eaeeb03e6 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -4732,6 +4732,8 @@ begin Application.TaskBarBehavior := tbSingleButton else Application.TaskBarBehavior := tbDefault; + end else begin + MainBuildBoss.SetBuildTargetProject1; end; finally IDEOptionsDialog.Free;