aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/projectexplorer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer/projectexplorer.cpp')
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp8
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();
}