diff options
author | Tobias Hunger <tobias.hunger@qt.io> | 2016-11-04 14:22:29 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2016-11-14 09:03:44 +0000 |
commit | 1a2f649b70c67380d29cdececbce3fad1b97dfca (patch) | |
tree | 39b8e01b3e80b019fcdc98b70f0d53cda7431c82 /src/plugins | |
parent | ae46c06ac60e4f59454691e4d97e658613ef4856 (diff) | |
download | qt-creator-1a2f649b70c67380d29cdececbce3fad1b97dfca.tar.gz |
CMake: Clean out unnecessary data in server mode reader
Do not keep data around once it is used. It will not help on the next run,
especially not when the parsing fails then:-)
Change-Id: Ifa1259b74349ac172a5c9d5411c10d429085b853
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/cmakeprojectmanager/servermodereader.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/cmakeprojectmanager/servermodereader.cpp b/src/plugins/cmakeprojectmanager/servermodereader.cpp index 7fd974d64d..5295a07ccd 100644 --- a/src/plugins/cmakeprojectmanager/servermodereader.cpp +++ b/src/plugins/cmakeprojectmanager/servermodereader.cpp @@ -219,6 +219,7 @@ void ServerModeReader::generateProjectTree(CMakeProjectNode *root, const QList<F knownFiles.insert((*it)->filePath()); QList<FileNode *> 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<Core::Id> ServerModeReader::updateCodeModel(CppTools::ProjectPartBuilder &p languages.unite(QSet<Core::Id>::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; } |