aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorJarek Kobus <jaroslaw.kobus@qt.io>2024-02-23 17:01:03 +0100
committerJarek Kobus <jaroslaw.kobus@qt.io>2024-02-23 17:16:53 +0000
commit53f8956fb8a4fd606a140e804a9d67a20c55f380 (patch)
tree733602c6e82128b510fe82e91ef08d18c6d76e5f /src/plugins/cppeditor
parent5590efa30bc28bff6c530b280258dfc6945f061d (diff)
FunctionDeclDefLinkFinder: Ensure the old futures are synchronized
Change-Id: I68b271f85d2bb319230529d4b0b074c05c12ba4c Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/cppeditor')
-rw-r--r--src/plugins/cppeditor/cppfunctiondecldeflink.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp
index 710397e3a8..e489045f35 100644
--- a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp
+++ b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp
@@ -14,8 +14,6 @@
#include <coreplugin/actionmanager/actionmanager.h>
#include <coreplugin/actionmanager/command.h>
-#include <texteditor/refactoroverlay.h>
-#include <texteditor/texteditorconstants.h>
#include <cplusplus/ASTPath.h>
#include <cplusplus/CppRewriter.h>
@@ -23,7 +21,13 @@
#include <cplusplus/Overview.h>
#include <cplusplus/TypeOfExpression.h>
+#include <extensionsystem/pluginmanager.h>
+
+#include <texteditor/refactoroverlay.h>
+#include <texteditor/texteditorconstants.h>
+
#include <utils/async.h>
+#include <utils/futuresynchronizer.h>
#include <utils/proxyaction.h>
#include <utils/qtcassert.h>
#include <utils/textutils.h>
@@ -235,6 +239,7 @@ void FunctionDeclDefLinkFinder::startFindLinkAt(
m_watcher.reset(new QFutureWatcher<std::shared_ptr<FunctionDeclDefLink> >());
connect(m_watcher.get(), &QFutureWatcherBase::finished, this, &FunctionDeclDefLinkFinder::onFutureDone);
m_watcher->setFuture(Utils::asyncRun(findLinkHelper, result, refactoringChanges));
+ ExtensionSystem::PluginManager::futureSynchronizer()->addFuture(m_watcher->future());
}
bool FunctionDeclDefLink::isValid() const