diff options
Diffstat (limited to 'src/plugins/cpptools/cpptoolseditorsupport.cpp')
-rw-r--r-- | src/plugins/cpptools/cpptoolseditorsupport.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp index 2638a127ce..6a31f98f85 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.cpp +++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp @@ -390,7 +390,7 @@ void CppEditorSupport::startHighlighting() m_highlighter = m_highlightingSupport->highlightingFuture(doc, snapshot); m_lastHighlightRevision = revision; - emit highlighterStarted(&m_highlighter, m_lastHighlightRevision); + emit highlighterStarted(m_highlighter, m_lastHighlightRevision); } else { const unsigned revision = currentSource(false).revision; if (m_lastHighlightRevision == revision) @@ -400,7 +400,7 @@ void CppEditorSupport::startHighlighting() static const Document::Ptr dummyDoc; static const Snapshot dummySnapshot; m_highlighter = m_highlightingSupport->highlightingFuture(dummyDoc, dummySnapshot); - emit highlighterStarted(&m_highlighter, m_lastHighlightRevision); + emit highlighterStarted(m_highlighter, m_lastHighlightRevision); } } @@ -500,6 +500,8 @@ void CppEditorSupport::onCurrentEditorChanged() void CppEditorSupport::releaseResources() { + m_highlighter.cancel(); + m_highlighter = QFuture<TextEditor::HighlightingResult>(); snapshotUpdater()->releaseSnapshot(); QMutexLocker semanticLocker(&m_lastSemanticInfoLock); m_lastSemanticInfo = SemanticInfo(); |