diff --git a/src/plugins/debugger/debuggeritemmanager.cpp b/src/plugins/debugger/debuggeritemmanager.cpp index 2644e3fa125..b4fb2af2dea 100644 --- a/src/plugins/debugger/debuggeritemmanager.cpp +++ b/src/plugins/debugger/debuggeritemmanager.cpp @@ -9,6 +9,8 @@ #include #include +#include + #include #include #include @@ -19,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -480,14 +483,14 @@ void DebuggerItemConfigWidget::binaryPathHasChanged() if (!m_generic) { m_updateWatcher.cancel(); - DebuggerItem tmp; if (m_binaryChooser->filePath().isExecutableFile()) { - tmp = item(); - m_updateWatcher.setFuture(Utils::asyncRun([tmp]() mutable { + m_updateWatcher.setFuture(Utils::asyncRun([tmp = item()]() mutable { tmp.reinitializeFromFile(); return tmp; })); + ExtensionSystem::PluginManager::futureSynchronizer()->addFuture(m_updateWatcher.future()); } else { + const DebuggerItem tmp; setAbis(tmp.abiNames()); m_version->setText(tmp.version()); m_engineType = tmp.engineType();