From 592417ac17bab1fa4dd569c973364fb168c803d9 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 13 Mar 2019 17:44:13 +0100 Subject: [PATCH] Android: Avoid a direct use of RunControl::runConfiguration() Change-Id: I69a610befeda78b85a2cb6285ff60a4e75ff12b4 Reviewed-by: Christian Stenger --- src/plugins/android/androiddebugsupport.cpp | 14 +++++--------- src/plugins/projectexplorer/runcontrol.cpp | 5 +++++ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index 1fe3a05de1e..e01dcfaf7d0 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -93,10 +93,8 @@ static QStringList uniquePaths(const QStringList &files) return paths.toList(); } -static QStringList getSoLibSearchPath(const RunConfiguration *rc) +static QStringList getSoLibSearchPath(const ProjectNode *node) { - Target *target = rc->target(); - const ProjectNode *node = target->project()->findNodeForBuildKey(rc->buildKey()); if (!node) return {}; @@ -122,12 +120,10 @@ static QStringList getSoLibSearchPath(const RunConfiguration *rc) return res; } -static QStringList getExtraLibs(const RunConfiguration *rc) +static QStringList getExtraLibs(const ProjectNode *node) { - const ProjectNode *node = rc->target()->project()->findNodeForBuildKey(rc->buildKey()); if (!node) return {}; - return node->data(Android::Constants::AndroidExtraLibs).toStringList(); } @@ -171,9 +167,9 @@ void AndroidDebugSupport::start() if (isCppDebugging()) { qCDebug(androidDebugSupportLog) << "C++ debugging enabled"; - auto runConfig = runControl()->runConfiguration(); - QStringList solibSearchPath = getSoLibSearchPath(runConfig); - QStringList extraLibs = getExtraLibs(runConfig); + const ProjectNode *node = target->project()->findNodeForBuildKey(runControl()->buildKey()); + QStringList solibSearchPath = getSoLibSearchPath(node); + QStringList extraLibs = getExtraLibs(node); solibSearchPath.append(qtSoPaths(qtVersion)); solibSearchPath.append(uniquePaths(extraLibs)); setSolibSearchPath(solibSearchPath); diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp index 4bd1d690364..8a98e455129 100644 --- a/src/plugins/projectexplorer/runcontrol.cpp +++ b/src/plugins/projectexplorer/runcontrol.cpp @@ -869,6 +869,11 @@ ISettingsAspect *RunControl::settings(Core::Id id) const return d->runConfiguration ? d->runConfiguration->currentSettings(id) : nullptr; } +QString RunControl::buildKey() const +{ + return d->runConfiguration ? d->runConfiguration->buildKey() : QString(); +} + BuildTargetInfo RunControl::buildTargetInfo() const { return d->runConfiguration->buildTargetInfo();