From fe8ed7f5a666629ae43f8fc0888484a8bfa3b210 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 26 Sep 2014 12:45:42 +0200 Subject: Session: Fix saving session data on shutdown from project mode This was broken in d52ee686d1ae63090e066faf4e2b66b90620b774. Task-number: QTCREATORBUG-13098 Change-Id: Ia075e13fdd00e561b78058a3cab0cb02d2eb5fe6 Reviewed-by: Eike Ziller --- src/plugins/coreplugin/modemanager.cpp | 2 +- src/plugins/coreplugin/modemanager.h | 2 +- src/plugins/projectexplorer/projectexplorer.cpp | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/coreplugin/modemanager.cpp b/src/plugins/coreplugin/modemanager.cpp index 9e387d4f44..349d93ef76 100644 --- a/src/plugins/coreplugin/modemanager.cpp +++ b/src/plugins/coreplugin/modemanager.cpp @@ -320,7 +320,7 @@ bool ModeManager::isModeSelectorVisible() return d->m_modeSelectorVisible; } -QObject *ModeManager::instance() +ModeManager *ModeManager::instance() { return m_instance; } diff --git a/src/plugins/coreplugin/modemanager.h b/src/plugins/coreplugin/modemanager.h index a6689368be..9e708e0e02 100644 --- a/src/plugins/coreplugin/modemanager.h +++ b/src/plugins/coreplugin/modemanager.h @@ -52,7 +52,7 @@ class CORE_EXPORT ModeManager : public QObject Q_OBJECT public: - static QObject *instance(); + static ModeManager *instance(); static IMode *currentMode(); static IMode *mode(Id id); diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 2c4d8eb102..ce7f8b39a4 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1277,6 +1277,8 @@ void ProjectExplorerPlugin::updateRunWithoutDeployMenu() ExtensionSystem::IPlugin::ShutdownFlag ProjectExplorerPlugin::aboutToShutdown() { + disconnect(ModeManager::instance(), &ModeManager::currentModeChanged, + this, &ProjectExplorerPlugin::currentModeChanged); d->m_proWindow->aboutToShutdown(); // disconnect from session SessionManager::closeAllProjects(); d->m_projectsMode = 0; @@ -1673,9 +1675,8 @@ void ProjectExplorerPlugin::restoreSession() SessionManager::loadSession(d->m_sessionToRestoreAtStartup); // update welcome page - connect(ModeManager::instance(), - SIGNAL(currentModeChanged(Core::IMode*,Core::IMode*)), - SLOT(currentModeChanged(Core::IMode*,Core::IMode*))); + connect(ModeManager::instance(), &ModeManager::currentModeChanged, + this, &ProjectExplorerPlugin::currentModeChanged); #if HAS_WELCOME_PAGE connect(d->m_welcomePage, SIGNAL(requestSession(QString)), this, SLOT(loadSession(QString))); connect(d->m_welcomePage, SIGNAL(requestProject(QString)), this, SLOT(openProjectWelcomePage(QString))); -- cgit v1.2.1