From 8e3740ac4bc6d79ceb8a1245e3b9298bf21bd818 Mon Sep 17 00:00:00 2001 From: juha Date: Fri, 14 Nov 2014 01:40:18 +0000 Subject: [PATCH] IDE: Prevent uselessly saving environment options during IDE startup and right after closing the settings dialog. git-svn-id: trunk@46841 - --- ide/environmentopts.pp | 5 +++-- ide/main.pp | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ide/environmentopts.pp b/ide/environmentopts.pp index 7196a6178a..967aedccaa 100644 --- a/ide/environmentopts.pp +++ b/ide/environmentopts.pp @@ -1051,8 +1051,9 @@ end; procedure TEnvironmentOptions.DoAfterWrite(Restore: boolean); begin - if not Restore then - Save(False); + // Note! Data is saved when the IDE is closed. + //if not Restore then + // Save(False); inherited DoAfterWrite(Restore); end; diff --git a/ide/main.pp b/ide/main.pp index 8ac125bbf5..e92c0f88f7 100644 --- a/ide/main.pp +++ b/ide/main.pp @@ -629,6 +629,7 @@ type FDesignerToBeFreed: TFilenameToStringTree; // form file names to be freed OnIdle. FApplicationIsActivate: boolean; fNeedSaveEnvironment: boolean; + FIDEStarted: boolean; FRemoteControlTimer: TTimer; FRemoteControlFileAge: integer; @@ -1561,6 +1562,7 @@ begin DoShowMessagesView(false); // reopen extra windows fUserInputSinceLastIdle:=true; // Idle work gets done initially before user action. FApplicationIsActivate:=true; + FIDEStarted:=true; {$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.StartIDE END');{$ENDIF} end; @@ -5098,7 +5100,8 @@ procedure TMainIDE.SaveEnvironment(Immediately: boolean); begin if not Immediately then begin - fNeedSaveEnvironment:=true; + if FIDEStarted then + fNeedSaveEnvironment:=true; exit; end; fNeedSaveEnvironment:=false;