diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 306e933cf37c13c1b13a82ad2c9b03c630d545f7..0f11fe7b2ae4a56f0b6ab0c062448a0566a31850 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -873,26 +873,6 @@ void SessionManager::removeProjects(QList<Project *> remove) emit aboutToRemoveProject(pro); } - // TODO: Clear m_modelProjectHash - - // Delete projects - foreach (Project *pro, remove) { - pro->saveSettings(); - m_file->m_projects.removeOne(pro); - - if (pro == m_file->m_startupProject) - setStartupProject(0); - - disconnect(pro, SIGNAL(fileListChanged()), - this, SLOT(clearProjectFileCache())); - m_projectFileCache.remove(pro); - - if (debug) - qDebug() << "SessionManager - emitting projectRemoved(" << pro->displayName() << ")"; - m_sessionNode->removeProjectNode(pro->rootProjectNode()); - emit projectRemoved(pro); - delete pro; - } // Refresh dependencies QSet<QString> projectFiles; @@ -915,6 +895,27 @@ void SessionManager::removeProjects(QList<Project *> remove) m_file->m_depMap = resMap; + // TODO: Clear m_modelProjectHash + + // Delete projects + foreach (Project *pro, remove) { + pro->saveSettings(); + m_file->m_projects.removeOne(pro); + + if (pro == m_file->m_startupProject) + setStartupProject(0); + + disconnect(pro, SIGNAL(fileListChanged()), + this, SLOT(clearProjectFileCache())); + m_projectFileCache.remove(pro); + + if (debug) + qDebug() << "SessionManager - emitting projectRemoved(" << pro->displayName() << ")"; + m_sessionNode->removeProjectNode(pro->rootProjectNode()); + emit projectRemoved(pro); + delete pro; + } + if (startupProject() == 0) if (!m_file->m_projects.isEmpty()) setStartupProject(m_file->m_projects.first());