diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 094c1245e3620c8be82a9d8ff57952cc81f0477c..d14753a4681e87489f6b0112927312266bfa7efe 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -611,8 +611,8 @@ CppModelManager::CppModelManager(QObject *parent) connect(session, SIGNAL(aboutToRemoveProject(ProjectExplorer::Project *)), this, SLOT(onAboutToRemoveProject(ProjectExplorer::Project *))); - connect(session, SIGNAL(sessionUnloaded()), - this, SLOT(onSessionUnloaded())); + connect(session, SIGNAL(aboutToUnloadSession()), + this, SLOT(onAboutToUnloadSession())); qRegisterMetaType<CPlusPlus::Document::Ptr>("CPlusPlus::Document::Ptr"); @@ -1078,7 +1078,7 @@ void CppModelManager::onAboutToRemoveProject(ProjectExplorer::Project *project) GC(); } -void CppModelManager::onSessionUnloaded() +void CppModelManager::onAboutToUnloadSession() { if (m_core->progressManager()) { m_core->progressManager()->cancelTasks(CppTools::Constants::TASK_INDEX); diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h index e911971773e7a941702e5f7964293ab052042051..66d77c8194de86b9c89dfd2c403bfd52d7d44fa1 100644 --- a/src/plugins/cpptools/cppmodelmanager.h +++ b/src/plugins/cpptools/cppmodelmanager.h @@ -118,7 +118,7 @@ private Q_SLOTS: // this should be executed in the GUI thread. void onDocumentUpdated(CPlusPlus::Document::Ptr doc); void onAboutToRemoveProject(ProjectExplorer::Project *project); - void onSessionUnloaded(); + void onAboutToUnloadSession(); void onProjectAdded(ProjectExplorer::Project *project); void postEditorUpdate(); void updateEditorSelections(); diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 5776cfd7551aadc3eaff2b398c26f59f42e6c987..e5925f71e247d175fbdf8e4f388b8fe2868ffff5 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -1046,7 +1046,7 @@ void DebuggerManager::sessionLoaded() loadSessionData(); } -void DebuggerManager::sessionUnloaded() +void DebuggerManager::aboutToUnloadSession() { cleanupViews(); if (m_engine) diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 2313503874df278554765076df899e79f775ebe0..72806c60db646bd8deaaebf5c21c0c288cc74958 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -311,7 +311,7 @@ public slots: void updateWatchData(const WatchData &data); void sessionLoaded(); - void sessionUnloaded(); + void aboutToUnloadSession(); void aboutToSaveSession(); void assignValueInDebugger(); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 0ea4fd850031d9475d961ba289934ed3d4d0c686..01dc96476e5270aae55341a88e7f4fa0cc2621a4 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -871,8 +871,8 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess m_manager, SLOT(sessionLoaded())); connect(sessionManager(), SIGNAL(aboutToSaveSession()), m_manager, SLOT(aboutToSaveSession())); - connect(sessionManager(), SIGNAL(sessionUnloaded()), - m_manager, SLOT(sessionUnloaded())); + connect(sessionManager(), SIGNAL(aboutToUnloadSession()), + m_manager, SLOT(aboutToUnloadSession())); // EditorManager QObject *editorManager = core->editorManager(); diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 09dcb6e1491efbfc1c033d1985b4fd5a3b9083f2..0759061694a9154d4f1239bf867cd75ec7cc8f32 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -399,8 +399,8 @@ SessionManager::SessionManager(QObject *parent) SessionManager::~SessionManager() { + emit aboutToUnloadSession(); delete m_file; - emit sessionUnloaded(); } @@ -598,8 +598,8 @@ bool SessionManager::createImpl(const QString &fileName) } if (success) { + emit aboutToUnloadSession(); delete m_file; - emit sessionUnloaded(); m_file = new SessionFile; m_file->setFileName(fileName); setStartupProject(defaultStartupProject()); @@ -633,9 +633,8 @@ bool SessionManager::loadImpl(const QString &fileName) } if (success) { + emit aboutToUnloadSession(); delete m_file; - m_file = 0; - emit sessionUnloaded(); m_file = new SessionFile; if (!m_file->load(fileName)) { QMessageBox::warning(0, tr("Error while restoring session"), diff --git a/src/plugins/projectexplorer/session.h b/src/plugins/projectexplorer/session.h index 063f72f74b8ed4b53fc1348f531ea76321fe103e..654877e4da4566d893c982eba13b7639e33ae103 100644 --- a/src/plugins/projectexplorer/session.h +++ b/src/plugins/projectexplorer/session.h @@ -159,8 +159,8 @@ signals: void startupProjectChanged(ProjectExplorer::Project *project); - void sessionUnloaded(); void sessionLoaded(); + void aboutToUnloadSession(); void aboutToSaveSession(); void dependencyChanged(ProjectExplorer::Project *a, ProjectExplorer::Project *b);