diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-02-27 11:34:30 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-03-07 11:54:16 +0000 |
commit | 45b7c5ac293a297ff1c6c7e64b24d662ec29b7b2 (patch) | |
tree | c95b2c4d42459d28464340a44fa5b3e4900499a6 /src/plugins/cpptools/cppmodelmanager.cpp | |
parent | 95f78f6c8002aa95affe13b4c528a147e40240b1 (diff) | |
download | qt-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.cpp | 14 |
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); } |