diff options
Diffstat (limited to 'src/plugins/cpptools/cppsnapshotupdater.cpp')
-rw-r--r-- | src/plugins/cpptools/cppsnapshotupdater.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppsnapshotupdater.cpp b/src/plugins/cpptools/cppsnapshotupdater.cpp index 11cd3ff5b3..0a97a98fdf 100644 --- a/src/plugins/cpptools/cppsnapshotupdater.cpp +++ b/src/plugins/cpptools/cppsnapshotupdater.cpp @@ -41,6 +41,7 @@ SnapshotUpdater::SnapshotUpdater(const QString &fileInEditor) , m_fileInEditor(fileInEditor) , m_editorDefinesChangedSinceLastUpdate(false) , m_usePrecompiledHeaders(false) + , m_forceSnapshotInvalidation(false) { } @@ -62,6 +63,11 @@ void SnapshotUpdater::update(CppModelManager::WorkingCopy workingCopy) updateProjectPart(); + if (m_forceSnapshotInvalidation) { + invalidateSnapshot = true; + m_forceSnapshotInvalidation = false; + } + if (m_projectPart) { configFile += m_projectPart->defines; includePaths = m_projectPart->includePaths; @@ -186,6 +192,14 @@ void SnapshotUpdater::update(CppModelManager::WorkingCopy workingCopy) } } +void SnapshotUpdater::releaseSnapshot() +{ + QMutexLocker locker(&m_mutex); + m_snapshot = Snapshot(); + m_deps = DependencyTable(); + m_forceSnapshotInvalidation = true; +} + Document::Ptr SnapshotUpdater::document() const { QMutexLocker locker(&m_mutex); |