aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor/cppeditorwidget.cpp
diff options
context:
space:
mode:
authorIvan Donchevskii <ivan.donchevskii@qt.io>2018-02-21 11:58:16 +0100
committerIvan Donchevskii <ivan.donchevskii@qt.io>2018-03-19 13:37:46 +0000
commit08d1274ccc0e9b116626afad60afaa970fe2fbbf (patch)
treee6fc80b45812c84f47bb72018b0e8362e3b31073 /src/plugins/cppeditor/cppeditorwidget.cpp
parentd471006d8136cd6f99f668d5a55e4f7a7483737e (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.cpp22
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