summaryrefslogtreecommitdiff
path: root/src/plugins/clangrefactoring
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/clangrefactoring
parentd471006d8136cd6f99f668d5a55e4f7a7483737e (diff)
downloadqt-creator-08d1274ccc0e9b116626afad60afaa970fe2fbbf.tar.gz
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/clangrefactoring')
-rw-r--r--src/plugins/clangrefactoring/refactoringengine.cpp13
-rw-r--r--src/plugins/clangrefactoring/refactoringengine.h3
2 files changed, 9 insertions, 7 deletions
diff --git a/src/plugins/clangrefactoring/refactoringengine.cpp b/src/plugins/clangrefactoring/refactoringengine.cpp
index 7c69cfc9d1..952ed9bf19 100644
--- a/src/plugins/clangrefactoring/refactoringengine.cpp
+++ b/src/plugins/clangrefactoring/refactoringengine.cpp
@@ -123,11 +123,12 @@ void RefactoringEngine::findUsages(const CppTools::CursorInEditor &data,
showUsagesCallback(locationsAt(data));
}
-RefactoringEngine::Link RefactoringEngine::globalFollowSymbol(const CppTools::CursorInEditor &data,
- const CPlusPlus::Snapshot &,
- const CPlusPlus::Document::Ptr &,
- CppTools::SymbolFinder *,
- bool) const
+void RefactoringEngine::globalFollowSymbol(const CppTools::CursorInEditor &data,
+ Utils::ProcessLinkCallback &&processLinkCallback,
+ const CPlusPlus::Snapshot &,
+ const CPlusPlus::Document::Ptr &,
+ CppTools::SymbolFinder *,
+ bool) const
{
// TODO: replace that with specific followSymbol query
const CppTools::Usages usages = locationsAt(data);
@@ -138,7 +139,7 @@ RefactoringEngine::Link RefactoringEngine::globalFollowSymbol(const CppTools::Cu
return true;
});
- return Link(usage.path, usage.line, usage.column);
+ processLinkCallback(Link(usage.path, usage.line, usage.column));
}
bool RefactoringEngine::isRefactoringEngineAvailable() const
diff --git a/src/plugins/clangrefactoring/refactoringengine.h b/src/plugins/clangrefactoring/refactoringengine.h
index 951a18fb53..739b545310 100644
--- a/src/plugins/clangrefactoring/refactoringengine.h
+++ b/src/plugins/clangrefactoring/refactoringengine.h
@@ -57,7 +57,8 @@ public:
const QString &) override;
void findUsages(const CppTools::CursorInEditor &data,
CppTools::UsagesCallback &&showUsagesCallback) const override;
- Link globalFollowSymbol(const CppTools::CursorInEditor &data,
+ void globalFollowSymbol(const CppTools::CursorInEditor &data,
+ Utils::ProcessLinkCallback &&processLinkCallback,
const CPlusPlus::Snapshot &,
const CPlusPlus::Document::Ptr &,
CppTools::SymbolFinder *,