diff options
Diffstat (limited to 'src/plugins/projectexplorer/projectexplorer.cpp')
-rw-r--r-- | src/plugins/projectexplorer/projectexplorer.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index ed7c16bc1f..5d7d296e70 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -2045,8 +2045,12 @@ void ProjectExplorerPluginPrivate::updateWelcomePage() void ProjectExplorerPluginPrivate::currentModeChanged(Id mode, Id oldMode) { - if (oldMode == Constants::MODE_SESSION) - ICore::saveSettings(); + if (oldMode == Constants::MODE_SESSION) { + // Saving settings directly in a mode change is not a good idea, since the mode change + // can be part of a bigger change. Save settings after that bigger change had a chance to + // complete. + QTimer::singleShot(0, ICore::instance(), &ICore::saveSettings); + } if (mode == Core::Constants::MODE_WELCOME) updateWelcomePage(); } |