diff options
Diffstat (limited to 'src/plugins/projectexplorer/buildstep.cpp')
-rw-r--r-- | src/plugins/projectexplorer/buildstep.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index 232a95483a..864fdbf6b3 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -140,12 +140,20 @@ QVariantMap BuildStep::toMap() const BuildConfiguration *BuildStep::buildConfiguration() const { - return qobject_cast<BuildConfiguration *>(parent()->parent()); + auto config = qobject_cast<BuildConfiguration *>(parent()->parent()); + if (config) + return config; + // step is not part of a build configuration, use active build configuration of step's target + return target()->activeBuildConfiguration(); } DeployConfiguration *BuildStep::deployConfiguration() const { - return qobject_cast<DeployConfiguration *>(parent()->parent()); + auto config = qobject_cast<DeployConfiguration *>(parent()->parent()); + if (config) + return config; + // step is not part of a deploy configuration, use active deploy configuration of step's target + return target()->activeDeployConfiguration(); } ProjectConfiguration *BuildStep::projectConfiguration() const |