From 652d2081ec4f4d506839be182a7fd75efd660918 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 19 Jul 2017 10:35:08 +0200 Subject: [PATCH] ProjectExplorer: Do not change state of sibling RunWorkers ... when a RunWorker reportStopped(). We have now always a "main" RunWorker (again) that is in a better position to decide what to do with "lower" worker states than the RunControl. The overall RunControl stopped state meaning is not changed: It is Stopped if all workers are Stopped (or Done, or Failed) Change-Id: I04ce6a8cb5b2067ec05fd506f6adc6ca65de0c39 Reviewed-by: Christian Stenger --- src/plugins/projectexplorer/runconfiguration.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index bc3eaac9117..8bc82b43274 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -982,17 +982,14 @@ void RunControlPrivate::onWorkerStopped(RunWorker *worker) debugMessage(" Examining worker " + workerId); switch (worker->d->state) { case RunWorkerState::Initialized: - debugMessage(" " + workerId + " was Initialized, setting to Done"); - worker->d->state = RunWorkerState::Done; + debugMessage(" " + workerId + " was Initialized."); break; case RunWorkerState::Starting: - worker->d->state = RunWorkerState::Stopping; - debugMessage(" " + workerId + " was Starting, queuing stop"); + debugMessage(" " + workerId + " was Starting, waiting for its response"); allDone = false; break; case RunWorkerState::Running: - debugMessage(" " + workerId + " was Running, queuing stop"); - worker->d->state = RunWorkerState::Stopping; + debugMessage(" " + workerId + " was Running, waiting for its response"); allDone = false; break; case RunWorkerState::Stopping: