diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-11-27 14:49:48 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-12-04 10:40:02 +0100 |
commit | af2900ce724f5bb8be7d7ea19c179e10dcafdcab (patch) | |
tree | aa5936972b29cfdab36459a0a0c410049cd041e8 /src/plugins/cpptools/cpptoolseditorsupport.cpp | |
parent | 7620be4a695b0f1dac1f6c2961b964df64a895c8 (diff) | |
download | qt-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.cpp | 6 |
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); } } |