diff --git a/src/plugins/debugger/analyzer/analyzermanager.h b/src/plugins/debugger/analyzer/analyzermanager.h index 9a3dedd9d99..5907c819aa5 100644 --- a/src/plugins/debugger/analyzer/analyzermanager.h +++ b/src/plugins/debugger/analyzer/analyzermanager.h @@ -30,11 +30,7 @@ #include "../debuggermainwindow.h" -#include - -#include -#include -#include +#include #include diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 16622638f37..72b69ab41b1 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -3416,19 +3416,10 @@ static bool buildTypeAccepted(QFlags toolMode, BuildConfiguration::Bui return false; } -RunConfiguration *startupRunConfiguration() -{ - if (Project *pro = SessionManager::startupProject()) { - if (const Target *target = pro->activeTarget()) - return target->activeRunConfiguration(); - } - return nullptr; -} - static BuildConfiguration::BuildType startupBuildType() { BuildConfiguration::BuildType buildType = BuildConfiguration::Unknown; - if (RunConfiguration *runConfig = startupRunConfiguration()) { + if (RunConfiguration *runConfig = RunConfiguration::startupRunConfiguration()) { if (const BuildConfiguration *buildConfig = runConfig->target()->activeBuildConfiguration()) buildType = buildConfig->buildType(); } diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 79f7067104c..e95e49044dd 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -33,6 +33,7 @@ #include "environmentaspect.h" #include "kitinformation.h" #include "runnables.h" +#include "session.h" #include @@ -243,6 +244,20 @@ void RunConfiguration::ctor() [this] { return displayName(); }, false); } +/*! + * Returns the RunConfiguration of the currently active target + * of the startup project, if such exists, or \c nullptr otherwise. + */ + +RunConfiguration *RunConfiguration::startupRunConfiguration() +{ + if (Project *pro = SessionManager::startupProject()) { + if (const Target *target = pro->activeTarget()) + return target->activeRunConfiguration(); + } + return nullptr; +} + /*! Checks whether a run configuration is enabled. */ diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index cf1d5c7a9ad..cd954b98887 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -281,6 +281,8 @@ public: void addExtraAspect(IRunConfigurationAspect *aspect); + static RunConfiguration *startupRunConfiguration(); + signals: void enabledChanged(); void requestRunActionsUpdate(); diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index b661fab197f..8a655b955c6 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -587,8 +587,8 @@ void QmlProfilerTool::attachToWaitingApplication() Debugger::selectPerspective(Constants::QmlProfilerPerspectiveId); - RunConfiguration *rc = Debugger::startupRunConfiguration(); - auto runControl = new RunControl(rc, ProjectExplorer::Constants::QML_PROFILER_RUN_MODE); + auto runConfig = RunConfiguration::startupRunConfiguration(); + auto runControl = new RunControl(runConfig, ProjectExplorer::Constants::QML_PROFILER_RUN_MODE); auto profiler = new QmlProfilerRunner(runControl); profiler->setServerUrl(serverUrl); diff --git a/src/plugins/valgrind/callgrindtool.cpp b/src/plugins/valgrind/callgrindtool.cpp index 1564fcb78d0..0c8f1478dbd 100644 --- a/src/plugins/valgrind/callgrindtool.cpp +++ b/src/plugins/valgrind/callgrindtool.cpp @@ -277,7 +277,7 @@ CallgrindTool::CallgrindTool(QObject *parent) menu->addAction(ActionManager::registerAction(action, CallgrindRemoteActionId), Debugger::Constants::G_ANALYZER_REMOTE_TOOLS); QObject::connect(action, &QAction::triggered, this, [this, action] { - RunConfiguration *runConfig = startupRunConfiguration(); + auto runConfig = RunConfiguration::startupRunConfiguration(); if (!runConfig) { showCannotStartDialog(action->text()); return; diff --git a/src/plugins/valgrind/memchecktool.cpp b/src/plugins/valgrind/memchecktool.cpp index 5ae5bf3f152..195aede309a 100644 --- a/src/plugins/valgrind/memchecktool.cpp +++ b/src/plugins/valgrind/memchecktool.cpp @@ -440,7 +440,7 @@ MemcheckTool::MemcheckTool(QObject *parent) menu->addAction(ActionManager::registerAction(action, "Memcheck.Remote"), Debugger::Constants::G_ANALYZER_REMOTE_TOOLS); QObject::connect(action, &QAction::triggered, this, [this, action] { - RunConfiguration *runConfig = startupRunConfiguration(); + auto runConfig = RunConfiguration::startupRunConfiguration(); if (!runConfig) { showCannotStartDialog(action->text()); return;