diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-02-21 11:58:16 +0100 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-03-19 13:37:46 +0000 |
commit | 08d1274ccc0e9b116626afad60afaa970fe2fbbf (patch) | |
tree | e6fc80b45812c84f47bb72018b0e8362e3b31073 /src/plugins/cppeditor/cppeditorwidget.cpp | |
parent | d471006d8136cd6f99f668d5a55e4f7a7483737e (diff) |
CppTools: Remove processEvents call from follow symbol
processEvents is a bad way of dealing with asynchronous
requests. Use QFutureWatcher for that purpose.
Change-Id: I3839cb9db80a6d391f6af1178e96986a325b7b99
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Diffstat (limited to 'src/plugins/cppeditor/cppeditorwidget.cpp')
-rw-r--r-- | src/plugins/cppeditor/cppeditorwidget.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/plugins/cppeditor/cppeditorwidget.cpp b/src/plugins/cppeditor/cppeditorwidget.cpp index 778936570e..b6032fee4a 100644 --- a/src/plugins/cppeditor/cppeditorwidget.cpp +++ b/src/plugins/cppeditor/cppeditorwidget.cpp @@ -718,21 +718,23 @@ void CppEditorWidget::switchDeclarationDefinition(bool inNextSplit) openLink(symbolLink, inNextSplit != alwaysOpenLinksInNextSplit()); } -Utils::Link CppEditorWidget::findLinkAt(const QTextCursor &cursor, - bool resolveTarget, - bool inNextSplit) +void CppEditorWidget::findLinkAt(const QTextCursor &cursor, + Utils::ProcessLinkCallback &&processLinkCallback, + bool resolveTarget, + bool inNextSplit) { if (!d->m_modelManager) - return Utils::Link(); + return processLinkCallback(Utils::Link()); const Utils::FileName &filePath = textDocument()->filePath(); - return followSymbolInterface().findLink(CppTools::CursorInEditor{cursor, filePath, this}, - resolveTarget, - d->m_modelManager->snapshot(), - d->m_lastSemanticInfo.doc, - d->m_modelManager->symbolFinder(), - inNextSplit); + followSymbolInterface().findLink(CppTools::CursorInEditor{cursor, filePath, this}, + std::move(processLinkCallback), + resolveTarget, + d->m_modelManager->snapshot(), + d->m_lastSemanticInfo.doc, + d->m_modelManager->symbolFinder(), + inNextSplit); } unsigned CppEditorWidget::documentRevision() const |