From 0c107b33d1578263d858f446458b60278267154f Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 14 Oct 2014 11:37:40 +0200 Subject: CppTools: Do not re-use semantic document if dependencies changed Changes from the current editor snapshot to the previous one represent dependency changes (include paths, defines, ...) for the document. Use this to stop the semantic info updater from re-using the previous document for highlighthing. Task-number: QTCREATORBUG-12267 Change-Id: I91308700122ded7c458c267b685c00b966874a64 Reviewed-by: Orgad Shaneh Reviewed-by: Fawzi Mohamed --- src/libs/cplusplus/CppDocument.cpp | 5 +++++ src/libs/cplusplus/CppDocument.h | 2 ++ 2 files changed, 7 insertions(+) (limited to 'src/libs/cplusplus') diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 58301011b9..034e2f5585 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -825,6 +825,11 @@ void Snapshot::updateDependencyTable() const m_deps.build(*this); } +bool Snapshot::operator==(const Snapshot &other) const +{ + return _documents == other._documents; +} + void Snapshot::allIncludesForDocument_helper(const QString &fileName, QSet &result) const { if (Document::Ptr doc = document(fileName)) { diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h index dba6291351..f9d4dba3c4 100644 --- a/src/libs/cplusplus/CppDocument.h +++ b/src/libs/cplusplus/CppDocument.h @@ -431,6 +431,8 @@ public: QStringList filesDependingOn(const QString &fileName) const; void updateDependencyTable() const; + bool operator==(const Snapshot &other) const; + private: void allIncludesForDocument_helper(const QString &fileName, QSet &result) const; -- cgit v1.2.1