aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2025-06-30 15:23:10 +0200
committerJarek Kobus <[email protected]>2025-07-04 13:25:27 +0000
commit4de6d9dc62af4b790de8aadf1a3d2ff82a5294c3 (patch)
treea11375c5c51ccfb4e48a2a2fba0b1b11ffb9b8e6
parent232e4a7e85209ac1711d4aaaa8ba53d2a95a018d (diff)
RunInterface: Get rid of started() signalHEADmaster
Use RunControl::reportStarted() instead. Task-number: QTCREATORBUG-29168 Change-Id: I037c0e338e91bf2ffa365f991087eab622e780b1 Reviewed-by: hjk <[email protected]>
-rw-r--r--src/plugins/android/androidrunner.cpp2
-rw-r--r--src/plugins/boot2qt/qdbdevicedebugsupport.cpp2
-rw-r--r--src/plugins/clangtools/clangtool.cpp2
-rw-r--r--src/plugins/debugger/debuggerruncontrol.cpp3
-rw-r--r--src/plugins/ios/iosrunner.cpp6
-rw-r--r--src/plugins/perfprofiler/perfprofilerruncontrol.cpp2
-rw-r--r--src/plugins/projectexplorer/runcontrol.cpp16
-rw-r--r--src/plugins/projectexplorer/runcontrol.h7
-rw-r--r--src/plugins/qmlpreview/qmlpreviewruncontrol.cpp2
-rw-r--r--src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp2
-rw-r--r--src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp2
-rw-r--r--src/plugins/remotelinux/remotelinuxdebugsupport.cpp4
-rw-r--r--src/plugins/valgrind/valgrindutils.cpp2
13 files changed, 28 insertions, 24 deletions
diff --git a/src/plugins/android/androidrunner.cpp b/src/plugins/android/androidrunner.cpp
index 5a4e07fe96e..015d838a8b9 100644
--- a/src/plugins/android/androidrunner.cpp
+++ b/src/plugins/android/androidrunner.cpp
@@ -131,7 +131,7 @@ Group androidRecipe(RunControl *runControl)
return androidKicker(barrier, runControl);
};
return When (kicker) >> Do {
- Sync([] { emit runStorage()->started(); })
+ Sync([runControl] { runControl->reportStarted(); })
};
}
diff --git a/src/plugins/boot2qt/qdbdevicedebugsupport.cpp b/src/plugins/boot2qt/qdbdevicedebugsupport.cpp
index 664cd7766d6..bedd1b03bf3 100644
--- a/src/plugins/boot2qt/qdbdevicedebugsupport.cpp
+++ b/src/plugins/boot2qt/qdbdevicedebugsupport.cpp
@@ -173,7 +173,7 @@ public:
setId("QdbPerfProfilerWorkerFactory");
setRecipeProducer([](RunControl *runControl) {
runControl->requestPerfChannel();
- return processRecipe(qdbDeviceInferiorProcess(runControl, NoQmlDebugServices, true));
+ return processRecipe(runControl, qdbDeviceInferiorProcess(runControl, NoQmlDebugServices, true));
});
addSupportedRunMode(ProjectExplorer::Constants::PERFPROFILER_RUNNER);
addSupportedDeviceType(Qdb::Constants::QdbLinuxOsType);
diff --git a/src/plugins/clangtools/clangtool.cpp b/src/plugins/clangtools/clangtool.cpp
index d599b53b402..2d4353a2bd2 100644
--- a/src/plugins/clangtools/clangtool.cpp
+++ b/src/plugins/clangtools/clangtool.cpp
@@ -641,7 +641,7 @@ Group ClangTool::runRecipe(const RunSettings &runSettings,
const Environment environment = buildConfiguration->environment();
const auto onTopSetup = [this, tempDir] {
- emit runStorage()->started();
+ m_runControl->reportStarted();
if (tempDir->isValid())
return SetupResult::Continue;
m_infoBarWidget->setError(InfoBarWidget::Error,
diff --git a/src/plugins/debugger/debuggerruncontrol.cpp b/src/plugins/debugger/debuggerruncontrol.cpp
index 4b5ca0e080e..79cffc823f2 100644
--- a/src/plugins/debugger/debuggerruncontrol.cpp
+++ b/src/plugins/debugger/debuggerruncontrol.cpp
@@ -463,8 +463,7 @@ ExecutableItem startEnginesRecipe(const Storage<DebuggerData> &storage)
driver->showMessage(DebuggerSettings::dump(), LogDebug);
driver->start();
- QObject::connect(driver, &EnginesDriver::started,
- runStorage().activeStorage(), &RunInterface::started);
+ QObject::connect(driver, &EnginesDriver::started, runControl, &RunControl::reportStarted);
return true;
};
diff --git a/src/plugins/ios/iosrunner.cpp b/src/plugins/ios/iosrunner.cpp
index d6240cf14e5..52743fabc85 100644
--- a/src/plugins/ios/iosrunner.cpp
+++ b/src/plugins/ios/iosrunner.cpp
@@ -340,7 +340,7 @@ static Group deviceCtlRecipe(RunControl *runControl, bool startStopped)
return deviceCtlKicker(barrier, runControl, startStopped);
};
return When (kicker) >> Do {
- Sync([] { emit runStorage()->started(); })
+ Sync([runControl] { runControl->reportStarted(); })
};
}
@@ -376,7 +376,7 @@ static Group deviceCtlPollingTask(RunControl *runControl, const Storage<AppInfo>
if (pid) {
*pidStorage = *pid;
runControl->setAttachPid(ProcessHandle(*pid));
- emit runStorage()->started();
+ runControl->reportStarted();
return DoneResult::Success;
}
runControl->postMessage(pid.error(), ErrorMessageFormat);
@@ -672,7 +672,7 @@ static Group iosToolRecipe(RunControl *runControl, const DebugInfo &debugInfo =
return iosToolKicker(barrier, runControl, debugInfo);
};
return When (kicker) >> Do {
- afterStartedRecipe ? *afterStartedRecipe : Sync([] { emit runStorage()->started(); })
+ afterStartedRecipe ? *afterStartedRecipe : Sync([runControl] { runControl->reportStarted(); })
};
}
diff --git a/src/plugins/perfprofiler/perfprofilerruncontrol.cpp b/src/plugins/perfprofiler/perfprofilerruncontrol.cpp
index 89a7bb03f4e..b120e6601fa 100644
--- a/src/plugins/perfprofiler/perfprofilerruncontrol.cpp
+++ b/src/plugins/perfprofiler/perfprofilerruncontrol.cpp
@@ -56,7 +56,7 @@ static Group perfParserRecipe(RunControl *runControl)
QObject::connect(reader, &PerfDataReader::finished, tool, &PerfProfilerTool::onReaderFinished);
RunInterface *iface = runStorage().activeStorage();
- QObject::connect(reader, &PerfDataReader::processStarted, iface, &RunInterface::started);
+ QObject::connect(reader, &PerfDataReader::processStarted, runControl, &RunControl::reportStarted);
QObject::connect(reader, &PerfDataReader::processFinished, &barrier, &Barrier::advance);
QObject::connect(reader, &PerfDataReader::processFailed, &barrier, [barrier = &barrier] {
barrier->stopWithResult(DoneResult::Error);
diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp
index 2b482015405..05095a936ec 100644
--- a/src/plugins/projectexplorer/runcontrol.cpp
+++ b/src/plugins/projectexplorer/runcontrol.cpp
@@ -279,6 +279,12 @@ void RunControl::start()
ProjectExplorerPlugin::startRunControl(this);
}
+void RunControl::reportStarted()
+{
+ d->debugMessage("Started");
+ emit started();
+}
+
void RunControl::copyDataFromRunConfiguration(RunConfiguration *runConfig)
{
QTC_ASSERT(runConfig, return);
@@ -781,10 +787,6 @@ void RunControlPrivate::startTaskTree()
const auto onSetup = [this] {
QObject::connect(q, &RunControl::canceled,
runStorage().activeStorage(), &RunInterface::canceled);
- QObject::connect(runStorage().activeStorage(), &RunInterface::started, q, [this] {
- debugMessage("Started");
- emit q->started();
- });
};
const auto needPortsGatherer = [this] { return data.isPortsGatherer(); };
@@ -1045,7 +1047,7 @@ void addOutputParserFactory(
ProcessRunnerFactory::ProcessRunnerFactory(const QList<Id> &runConfigs)
{
setId("ProcessRunnerFactory");
- setRecipeProducer([](RunControl *runControl) { return processRecipe(processTask(runControl)); });
+ setRecipeProducer([](RunControl *runControl) { return processRecipe(runControl, processTask(runControl)); });
addSupportedRunMode(ProjectExplorer::Constants::NORMAL_RUN_MODE);
setSupportedRunConfigs(runConfigs);
}
@@ -1085,11 +1087,11 @@ Group errorTask(RunControl *runControl, const QString &message)
};
}
-Group processRecipe(const ProcessTask &processTask)
+Group processRecipe(RunControl *runControl, const ProcessTask &processTask)
{
return {
When (processTask, &Process::started) >> Do {
- Sync([] { emit runStorage()->started(); })
+ Sync([runControl] { runControl->reportStarted(); })
}
};
}
diff --git a/src/plugins/projectexplorer/runcontrol.h b/src/plugins/projectexplorer/runcontrol.h
index ffd91151408..28321d66de8 100644
--- a/src/plugins/projectexplorer/runcontrol.h
+++ b/src/plugins/projectexplorer/runcontrol.h
@@ -90,6 +90,7 @@ public:
Tasking::Group noRecipeTask();
void start();
+ void reportStarted();
void setBuildConfiguration(BuildConfiguration *bc);
void setKit(Kit *kit);
@@ -240,7 +241,6 @@ class PROJECTEXPLORER_EXPORT RunInterface : public QObject
Q_OBJECT
signals:
- void started(); // Recipe -> RunWorker
void canceled(); // RunWorker -> Recipe
};
@@ -285,14 +285,15 @@ Utils::ProcessTask processTaskWithModifier(RunControl *runControl,
}
// This recipe notifies the RunControl when process is started.
-PROJECTEXPLORER_EXPORT Tasking::Group processRecipe(const Utils::ProcessTask &processTask);
+PROJECTEXPLORER_EXPORT Tasking::Group processRecipe(RunControl *runControl,
+ const Utils::ProcessTask &processTask);
template <typename Modifier>
Tasking::Group processRecipe(RunControl *runControl,
const Modifier &startModifier = {},
const ProcessSetupConfig &config = {})
{
- return processRecipe(processTaskWithModifier(runControl, startModifier, config));
+ return processRecipe(runControl, processTaskWithModifier(runControl, startModifier, config));
}
diff --git a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp
index 36a464b8360..72b0b4bdc6e 100644
--- a/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp
+++ b/src/plugins/qmlpreview/qmlpreviewruncontrol.cpp
@@ -104,7 +104,7 @@ QmlPreviewRunWorkerFactory::QmlPreviewRunWorkerFactory()
return Group {
parallel,
qmlPreviewRecipe(runControl),
- Sync([] { emit runStorage()->started(); })
+ Sync([runControl] { runControl->reportStarted(); })
};
});
addSupportedRunMode(Constants::QML_PREVIEW_RUNNER);
diff --git a/src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp b/src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp
index 9b974de24dd..e492d2a6b46 100644
--- a/src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerruncontrol.cpp
@@ -56,7 +56,7 @@ Group qmlProfilerRecipe(RunControl *runControl)
});
clientManager->setServer(runControl->qmlChannel());
clientManager->connectToServer();
- emit iface->started();
+ runControl->reportStarted();
};
const auto onDone = [] {
if (QmlProfilerTool::instance() == nullptr)
diff --git a/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp b/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp
index 36c02612880..8951fb1bb16 100644
--- a/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp
+++ b/src/plugins/qtapplicationmanager/appmanagerruncontrol.cpp
@@ -250,7 +250,7 @@ public:
setId("AppManagerPerfProfilerWorkerFactory");
setRecipeProducer([](RunControl *runControl) {
runControl->requestPerfChannel();
- return processRecipe(inferiorProcess(runControl, NoQmlDebugServices, true));
+ return processRecipe(runControl, inferiorProcess(runControl, NoQmlDebugServices, true));
});
addSupportedRunMode(ProjectExplorer::Constants::PERFPROFILER_RUNNER);
addSupportedRunConfig(Constants::RUNANDDEBUGCONFIGURATION_ID);
diff --git a/src/plugins/remotelinux/remotelinuxdebugsupport.cpp b/src/plugins/remotelinux/remotelinuxdebugsupport.cpp
index f69b83be583..5acdb4d81ca 100644
--- a/src/plugins/remotelinux/remotelinuxdebugsupport.cpp
+++ b/src/plugins/remotelinux/remotelinuxdebugsupport.cpp
@@ -40,7 +40,9 @@ public:
RemoteLinuxRunWorkerFactory()
{
setId("RemoteLinuxRunWorkerFactory");
- setRecipeProducer([](RunControl *runControl) { return processRecipe(processTask(runControl)); });
+ setRecipeProducer([](RunControl *runControl) {
+ return processRecipe(runControl, processTask(runControl));
+ });
addSupportedRunMode(ProjectExplorer::Constants::NORMAL_RUN_MODE);
addSupportedDeviceType(Constants::GenericLinuxOsType);
setSupportedRunConfigs(supportedRunConfigs());
diff --git a/src/plugins/valgrind/valgrindutils.cpp b/src/plugins/valgrind/valgrindutils.cpp
index 5e387460fc8..bd9c347620b 100644
--- a/src/plugins/valgrind/valgrindutils.cpp
+++ b/src/plugins/valgrind/valgrindutils.cpp
@@ -37,7 +37,7 @@ ExecutableItem initValgrindRecipe(const Storage<ValgrindSettings> &storage, RunC
const auto onSetup = [storage, runControl] {
storage->fromMap(runControl->settingsData(ANALYZER_VALGRIND_SETTINGS));
if (storage->valgrindExecutable().searchInPath().isExecutableFile()) {
- emit runStorage()->started();
+ runControl->reportStarted();
return DoneResult::Success;
}
runControl->postMessage(Tr::tr("Valgrind executable \"%1\" not found or not executable.\n"