aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2023-07-25 16:31:59 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2023-07-25 14:58:31 +0000
commit3c58c87585a13df6077e8b68d83716e91bfb45bb (patch)
treec7bae40177ec131e318996c8cb79d789ff725e9a
parentad16dba14caf3bc617496a18b4cb66212d4225ec (diff)
ProjectExplorer: Fix crash on toolchain re-detection
Fixes: QTCREATORBUG-29430 Change-Id: I8233371f70c3889ef81a3f111c298205712a2838 Reviewed-by: hjk <hjk@qt.io>
-rw-r--r--src/plugins/mcusupport/mcupackage.cpp4
-rw-r--r--src/plugins/projectexplorer/toolchainoptionspage.cpp5
2 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/mcusupport/mcupackage.cpp b/src/plugins/mcusupport/mcupackage.cpp
index f41b119338..1c079eebdf 100644
--- a/src/plugins/mcusupport/mcupackage.cpp
+++ b/src/plugins/mcusupport/mcupackage.cpp
@@ -10,6 +10,7 @@
#include <coreplugin/icore.h>
#include <debugger/debuggeritem.h>
#include <debugger/debuggeritemmanager.h>
+#include <projectexplorer/devicesupport/devicemanager.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/toolchain.h>
#include <projectexplorer/toolchainmanager.h>
@@ -447,7 +448,8 @@ static ToolChain *iarToolChain(const FilePath &path, Id language)
== BareMetal::Constants::IAREW_TOOLCHAIN_TYPEID;
});
if (iarFactory) {
- Toolchains detected = iarFactory->autoDetect(ToolchainDetector({}, {}, {}));
+ Toolchains detected = iarFactory->autoDetect(
+ {{}, DeviceManager::defaultDesktopDevice(), {}});
if (detected.isEmpty())
detected = iarFactory->detectForImport({path, language});
for (auto tc : detected) {
diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp
index e0717ab780..0c87f248db 100644
--- a/src/plugins/projectexplorer/toolchainoptionspage.cpp
+++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp
@@ -3,10 +3,11 @@
#include "toolchainoptionspage.h"
-#include "toolchain.h"
#include "abi.h"
+#include "devicesupport/devicemanager.h"
#include "projectexplorerconstants.h"
#include "projectexplorertr.h"
+#include "toolchain.h"
#include "toolchainconfigwidget.h"
#include "toolchainmanager.h"
@@ -404,7 +405,7 @@ void ToolChainOptionsWidget::redetectToolchains()
QSet<ToolChain *> toDelete;
ToolChainManager::resetBadToolchains();
for (ToolChainFactory *f : ToolChainFactory::allToolChainFactories()) {
- const ToolchainDetector detector(knownTcs, {}, {}); // FIXME: Pass device and search paths
+ const ToolchainDetector detector(knownTcs, DeviceManager::defaultDesktopDevice(), {}); // FIXME: Pass search paths
for (ToolChain * const tc : f->autoDetect(detector)) {
if (knownTcs.contains(tc) || toDelete.contains(tc))
continue;