summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cpptoolseditorsupport.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-11-27 14:49:48 +0100
committerErik Verbruggen <erik.verbruggen@digia.com>2013-12-04 10:40:02 +0100
commitaf2900ce724f5bb8be7d7ea19c179e10dcafdcab (patch)
treeaa5936972b29cfdab36459a0a0c410049cd041e8 /src/plugins/cpptools/cpptoolseditorsupport.cpp
parent7620be4a695b0f1dac1f6c2961b964df64a895c8 (diff)
downloadqt-creator-af2900ce724f5bb8be7d7ea19c179e10dcafdcab.tar.gz
C++: prevent possibly highlighting a document twice
Possible when the highlighter does not need semantic info to run, and is started through onDocumentUpdated() and updateDocumentNow(). Change-Id: I720299730213ac196143a273fb60cee8e43111f1 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cpptoolseditorsupport.cpp')
-rw-r--r--src/plugins/cpptools/cpptoolseditorsupport.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp
index 85c304cad6..fca1a8402f 100644
--- a/src/plugins/cpptools/cpptoolseditorsupport.cpp
+++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp
@@ -392,10 +392,14 @@ void CppEditorSupport::startHighlighting()
m_lastHighlightRevision = revision;
emit highlighterStarted(&m_highlighter, m_lastHighlightRevision);
} else {
+ const unsigned revision = currentSource(false).revision;
+ if (m_lastHighlightRevision == revision)
+ return;
+
+ m_lastHighlightRevision = revision;
static const Document::Ptr dummyDoc;
static const Snapshot dummySnapshot;
m_highlighter = m_highlightingSupport->highlightingFuture(dummyDoc, dummySnapshot);
- m_lastHighlightRevision = editorRevision();
emit highlighterStarted(&m_highlighter, m_lastHighlightRevision);
}
}