diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index dbed9e3fb86..e21d70f064d 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -326,6 +326,7 @@ public: QPointer runConfiguration; // Not owned. Avoid use. QString buildKey; Core::Id runConfigId; + BuildTargetInfo buildTargetInfo; Kit *kit = nullptr; // Not owned. QPointer target; // Not owned. QPointer project; // Not owned. @@ -369,6 +370,9 @@ void RunControl::setTarget(Target *target) QTC_CHECK(!d->target); d->target = target; + if (!d->buildKey.isEmpty()) + d->buildTargetInfo = target->buildTarget(d->buildKey); + delete d->outputFormatter; d->outputFormatter = OutputFormatterFactory::createFormatter(target); if (!d->outputFormatter) @@ -902,12 +906,12 @@ QString RunControl::buildKey() const FilePath RunControl::targetFilePath() const { - return d->target->buildTarget(d->buildKey).targetFilePath; + return d->buildTargetInfo.targetFilePath; } FilePath RunControl::projectFilePath() const { - return d->target->buildTarget(d->buildKey).projectFilePath; + return d->buildTargetInfo.projectFilePath; } /*!