From 1f0fd959fa9c8f4de6b448671ec63746ff42299a Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar <nikolai.kosjar@digia.com> Date: Tue, 4 Mar 2014 09:45:41 -0300 Subject: [PATCH] CppEditor: Do not cancel highlighter on user interaction e.g. changing cursor position or editing text. CPPEditorWidget::updateUses() does not depend on the highlighter, but only on the semantic info update. Task-number: QTCREATORBUG-11367 Change-Id: Ia9f5ed7c2adc6899995a5d966a20e45b2f87d9e3 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> --- src/plugins/cppeditor/cppeditor.cpp | 5 ----- src/plugins/cpptools/cpptoolseditorsupport.cpp | 3 ++- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index eb743965b41..00b240f7795 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -1158,11 +1158,6 @@ void CPPEditorWidget::updateOutlineToolTip() void CPPEditorWidget::updateUses() { - if (m_highlightWatcher) { - m_highlightWatcher->cancel(); - m_highlightWatcher.reset(); - } - // Block premature semantic info calculation when editor is created. if (m_modelManager && m_modelManager->cppEditorSupport(editor())->initialized()) m_updateUsesTimer->start(); diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp index 664d6761a53..084f4822e92 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.cpp +++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp @@ -391,10 +391,11 @@ void CppEditorSupport::startHighlighting() if (m_lastHighlightRevision == revision) return; - m_lastHighlightRevision = revision; + m_highlighter.cancel(); static const Document::Ptr dummyDoc; static const Snapshot dummySnapshot; m_highlighter = m_highlightingSupport->highlightingFuture(dummyDoc, dummySnapshot); + m_lastHighlightRevision = revision; emit highlighterStarted(&m_highlighter, m_lastHighlightRevision); } } -- GitLab