diff --git a/src/plugins/cmakeprojectmanager/servermodereader.cpp b/src/plugins/cmakeprojectmanager/servermodereader.cpp index 7fd974d64d7..5295a07ccd0 100644 --- a/src/plugins/cmakeprojectmanager/servermodereader.cpp +++ b/src/plugins/cmakeprojectmanager/servermodereader.cpp @@ -219,6 +219,7 @@ void ServerModeReader::generateProjectTree(CMakeProjectNode *root, const QListfilePath()); QList fileGroupNodes = m_cmakeInputsFileNodes; + m_cmakeInputsFileNodes.clear(); // Clean out, they are not going to be used anymore! foreach (const FileGroup *fg, m_fileGroups) { for (const FileName &s : fg->sources) { const int oldCount = knownFiles.count(); @@ -251,6 +252,12 @@ QSet ServerModeReader::updateCodeModel(CppTools::ProjectPartBuilder &p languages.unite(QSet::fromList(ppBuilder.createProjectPartsForFiles(transform(fg->sources, &FileName::toString)))); } + + qDeleteAll(m_projects); // Not used anymore! + m_projects.clear(); + m_targets.clear(); + m_fileGroups.clear(); + return languages; }