diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 0b8ccc8fe6a..70012ab682c 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -831,6 +831,7 @@ QFuture CppModelManager::updateProjectInfo(const ProjectInfo &newProjectIn return QFuture(); QSet filesToReindex; + QStringList removedProjectParts; bool filesRemoved = false; { // Only hold the mutex for a limited scope, so the dumping afterwards does not deadlock. @@ -876,8 +877,7 @@ QFuture CppModelManager::updateProjectInfo(const ProjectInfo &newProjectIn } } - // Announce removed project parts - emit projectPartsRemoved(comparer.removedProjectParts()); + removedProjectParts = comparer.removedProjectParts(); // A new project was opened/created, do a full indexing } else { @@ -899,6 +899,10 @@ QFuture CppModelManager::updateProjectInfo(const ProjectInfo &newProjectIn if (filesRemoved) GC(); + // Announce removed project parts + if (!removedProjectParts.isEmpty()) + emit projectPartsRemoved(removedProjectParts); + // Announce added project parts emit projectPartsUpdated(newProjectInfo.project().data());