From 6863b02e034a096e6d0441ecf1f54558953c358f Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Mon, 6 Sep 2010 16:48:49 +0200
Subject: [PATCH] ModeManager: Don't switch to weclome mode for session restore

---
 src/plugins/coreplugin/modemanager.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/plugins/coreplugin/modemanager.cpp b/src/plugins/coreplugin/modemanager.cpp
index 5f5e182be16..80e77e8d5f2 100644
--- a/src/plugins/coreplugin/modemanager.cpp
+++ b/src/plugins/coreplugin/modemanager.cpp
@@ -83,7 +83,8 @@ ModeManagerPrivate::ModeManagerPrivate(Internal::MainWindow *mainWindow,
     m_mainWindow(mainWindow),
     m_modeStack(modeStack),
     m_signalMapper(new QSignalMapper(q)),
-    m_oldCurrent(-1)
+    m_oldCurrent(-1),
+    m_switchedToMode(false)
 {
 }
 
@@ -151,6 +152,7 @@ IMode *ModeManager::mode(const QString &id) const
 
 void ModeManager::activateMode(const QString &id)
 {
+    m_switchedToMode = true;
     const int index = indexOf(id);
     if (index >= 0)
         d->m_modeStack->setCurrentIndex(index);
@@ -311,7 +313,8 @@ void ModeManager::setFocusToCurrentMode()
 
 void ModeManager::switchToDefaultMode()
 {
-    d->m_modeStack->setCurrentIndex(0);
+    if (!m_switchedToMode)
+        d->m_modeStack->setCurrentIndex(0);
 }
 
 ModeManager *ModeManager::instance()
-- 
GitLab