summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-04-11 12:51:06 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2013-04-16 11:56:18 +0200
commita0d6df7bd85bf88e4ac3643d97d35e04389f6309 (patch)
treeea52bcf565d13eacf7646b1b89403e072c3e311e /src/plugins/cpptools/cppmodelmanager.cpp
parentc39b582e58922c8329fff710fb57b7e8fa516a49 (diff)
downloadqt-creator-a0d6df7bd85bf88e4ac3643d97d35e04389f6309.tar.gz
C++: also refresh files not in the project when project changes.
System headers and other file which are not explicitly mentioned in the project must be reparsed when the project changes. Task-number: QTCREATORBUG-9056 Change-Id: I32f1206d241a078a4d9b15fac5813f365a1ba303 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index e382171c39..cef667fec0 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -970,10 +970,16 @@ void CppModelManager::updateProjectInfo(const ProjectInfo &pinfo)
foreach (const ProjectInfo &projectInfo, m_projects) {
foreach (const ProjectPart::Ptr &projectPart, projectInfo.projectParts()) {
- foreach (const ProjectFile &cxxFile, projectPart->files)
+ foreach (const ProjectFile &cxxFile, projectPart->files) {
m_srcToProjectPart[cxxFile.path].append(projectPart);
+ foreach (const QString &fileName, m_snapshot.allIncludesForDocument(cxxFile.path))
+ m_snapshot.remove(fileName);
+ m_snapshot.remove(cxxFile.path);
+ }
}
}
+
+ m_snapshot.remove(configurationFileName());
}
if (!qgetenv("QTCREATOR_DUMP_PROJECT_INFO").isEmpty())