summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2016-02-10 15:33:38 +0100
committerNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2016-02-12 07:48:27 +0000
commite1b14565facfb6b8f8c28f0c4394421f17bdc231 (patch)
tree67e25075ac6f2e1602676f8fcb809691bcfbdf1e
parenteb96cb45ffdc1f460082ec22f1b37f071baf90ed (diff)
downloadqt-creator-e1b14565facfb6b8f8c28f0c4394421f17bdc231.tar.gz
CppTools: Do not clear project state on session unload
Affected functionality was, among others: * Getting the correct project part when opening a file * Fallback project part (merged defines/includes) not up to date * Fallback for "Switch Header/Source" not up to date In the early days sessions switching was probably implemented by "close all projects of session X, open all projects of session Y". That's not the case anymore today. Change-Id: I4c6a80e2eb219615d3ea6fcf07be7c05072c8832 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com> Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp14
-rw-r--r--src/plugins/cpptools/cppmodelmanager.h1
2 files changed, 1 insertions, 14 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 7a94dbb580..3dad9eea30 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -326,8 +326,6 @@ CppModelManager::CppModelManager(QObject *parent)
this, SLOT(onAboutToRemoveProject(ProjectExplorer::Project*)));
connect(sessionManager, SIGNAL(aboutToLoadSession(QString)),
this, SLOT(onAboutToLoadSession()));
- connect(sessionManager, SIGNAL(aboutToUnloadSession(QString)),
- this, SLOT(onAboutToUnloadSession()));
connect(Core::EditorManager::instance(), &Core::EditorManager::currentEditorChanged,
this, &CppModelManager::onCurrentEditorChanged);
@@ -1061,17 +1059,6 @@ void CppModelManager::onAboutToLoadSession()
GC();
}
-void CppModelManager::onAboutToUnloadSession()
-{
- Core::ProgressManager::cancelTasks(CppTools::Constants::TASK_INDEX);
- do {
- QMutexLocker locker(&d->m_projectMutex);
- d->m_projectToProjectsInfo.clear();
- recalculateProjectPartMappings();
- d->m_dirty = true;
- } while (0);
-}
-
void CppModelManager::renameIncludes(const QString &oldFileName, const QString &newFileName)
{
if (oldFileName.isEmpty() || newFileName.isEmpty())
@@ -1103,6 +1090,7 @@ void CppModelManager::renameIncludes(const QString &oldFileName, const QString &
void CppModelManager::onCoreAboutToClose()
{
+ Core::ProgressManager::cancelTasks(CppTools::Constants::TASK_INDEX);
d->m_enableGC = false;
}
diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h
index 4c10343eda..fb02d45829 100644
--- a/src/plugins/cpptools/cppmodelmanager.h
+++ b/src/plugins/cpptools/cppmodelmanager.h
@@ -197,7 +197,6 @@ private slots:
// This should be executed in the GUI thread.
friend class Tests::ModelManagerTestHelper;
void onAboutToLoadSession();
- void onAboutToUnloadSession();
void renameIncludes(const QString &oldFileName, const QString &newFileName);
void onProjectAdded(ProjectExplorer::Project *project);
void onAboutToRemoveProject(ProjectExplorer::Project *project);