IDE: Prevent uselessly saving environment options during IDE startup and right after closing the settings dialog.

git-svn-id: trunk@46841 -
This commit is contained in:
juha 2014-11-14 01:40:18 +00:00
parent 084dd37ed0
commit 8e3740ac4b
2 changed files with 7 additions and 3 deletions

View File

@ -1051,8 +1051,9 @@ end;
procedure TEnvironmentOptions.DoAfterWrite(Restore: boolean); procedure TEnvironmentOptions.DoAfterWrite(Restore: boolean);
begin begin
if not Restore then // Note! Data is saved when the IDE is closed.
Save(False); //if not Restore then
// Save(False);
inherited DoAfterWrite(Restore); inherited DoAfterWrite(Restore);
end; end;

View File

@ -629,6 +629,7 @@ type
FDesignerToBeFreed: TFilenameToStringTree; // form file names to be freed OnIdle. FDesignerToBeFreed: TFilenameToStringTree; // form file names to be freed OnIdle.
FApplicationIsActivate: boolean; FApplicationIsActivate: boolean;
fNeedSaveEnvironment: boolean; fNeedSaveEnvironment: boolean;
FIDEStarted: boolean;
FRemoteControlTimer: TTimer; FRemoteControlTimer: TTimer;
FRemoteControlFileAge: integer; FRemoteControlFileAge: integer;
@ -1561,6 +1562,7 @@ begin
DoShowMessagesView(false); // reopen extra windows DoShowMessagesView(false); // reopen extra windows
fUserInputSinceLastIdle:=true; // Idle work gets done initially before user action. fUserInputSinceLastIdle:=true; // Idle work gets done initially before user action.
FApplicationIsActivate:=true; FApplicationIsActivate:=true;
FIDEStarted:=true;
{$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.StartIDE END');{$ENDIF} {$IFDEF IDE_MEM_CHECK}CheckHeapWrtMemCnt('TMainIDE.StartIDE END');{$ENDIF}
end; end;
@ -5098,7 +5100,8 @@ procedure TMainIDE.SaveEnvironment(Immediately: boolean);
begin begin
if not Immediately then if not Immediately then
begin begin
fNeedSaveEnvironment:=true; if FIDEStarted then
fNeedSaveEnvironment:=true;
exit; exit;
end; end;
fNeedSaveEnvironment:=false; fNeedSaveEnvironment:=false;