From 8badc4669e92cfe8c61d4f2162c03b54f35f1ec3 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 25 May 2022 11:18:25 +0200 Subject: [PATCH] ProjectExplorer: Avoid use of Runnable::device Derive it from the command's filepath instead. Change-Id: Icb37bc0cbf449459902f24e53df9f81473e97b7b Reviewed-by: Jarek Kobus Reviewed-by: Qt CI Bot Reviewed-by: --- src/plugins/projectexplorer/buildmanager.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 44cea723817..51b82f4565b 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -30,6 +30,7 @@ #include "buildsystem.h" #include "compileoutputwindow.h" #include "deployconfiguration.h" +#include "devicesupport/devicemanager.h" #include "kit.h" #include "kitinformation.h" #include "project.h" @@ -46,8 +47,9 @@ #include #include #include + #include -#include + #include #include #include @@ -118,7 +120,8 @@ static int queue(const QList &projects, const QList &stepIds, return projects.contains(rc->project()); case StopBeforeBuild::SameBuildDir: return Utils::contains(projects, [rc, configSelection](Project *p) { - IDevice::ConstPtr device = rc->runnable().device; + const FilePath executable = rc->runnable().command.executable(); + IDevice::ConstPtr device = DeviceManager::deviceForPath(executable); for (const Target * const t : targetsForSelection(p, configSelection)) { if (device.isNull()) device = DeviceKitAspect::device(t->kit()); @@ -126,7 +129,7 @@ static int queue(const QList &projects, const QList &stepIds, continue; for (const BuildConfiguration * const bc : buildConfigsForSelection(t, configSelection)) { - if (rc->runnable().command.executable().isChildOf(bc->buildDirectory())) + if (executable.isChildOf(bc->buildDirectory())) return true; } }