summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2017-02-27 11:34:30 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2017-03-07 11:54:16 +0000
commit45b7c5ac293a297ff1c6c7e64b24d662ec29b7b2 (patch)
treec95b2c4d42459d28464340a44fa5b3e4900499a6 /src/plugins/cpptools/cppmodelmanager.cpp
parent95f78f6c8002aa95affe13b4c528a147e40240b1 (diff)
downloadqt-creator-45b7c5ac293a297ff1c6c7e64b24d662ec29b7b2.tar.gz
Revert "CppTools: Do not put configuration document into global snapshot and working copy"
This reverts commit 05942b63f8bad6d6787fea10c31f10458cdccd06 because it breaks refactoring, e.g. Q_PROPERTY generators. Change-Id: I9a14b912ba72663f08ea99e7e066d824b18da4b0 Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 4cb5ce107e..d8a197b45a 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -594,6 +594,11 @@ WorkingCopy CppModelManager::buildWorkingCopyList()
workingCopy.insert(es->fileName(), es->contents(), es->revision());
}
+ // Add the project configuration file
+ QByteArray conf = codeModelConfiguration();
+ conf += definedMacros();
+ workingCopy.insert(configurationFileName(), conf);
+
return workingCopy;
}
@@ -871,6 +876,12 @@ QFuture<void> CppModelManager::updateProjectInfo(QFutureInterface<void> &futureI
removeProjectInfoFilesAndIncludesFromSnapshot(oldProjectInfo);
filesToReindex.unite(newSourceFiles);
+ // The "configuration file" includes all defines and therefore should be updated
+ if (comparer.definesChanged()) {
+ QMutexLocker snapshotLocker(&d->m_snapshotMutex);
+ d->m_snapshot.remove(configurationFileName());
+ }
+
// Otherwise check for added and modified files
} else {
const QSet<QString> addedFiles = comparer.addedFiles();
@@ -999,9 +1010,6 @@ bool CppModelManager::isClangCodeModelActive() const
void CppModelManager::emitDocumentUpdated(Document::Ptr doc)
{
- if (Client::isInjectedFile(doc->fileName()))
- return;
-
if (replaceDocument(doc))
emit documentUpdated(doc);
}