summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2017-08-09 12:06:05 +0200
committerhjk <hjk@qt.io>2017-08-09 12:16:27 +0000
commit4023e56d421e9747e33de03b75fc22a4e02333bc (patch)
tree1722c60297be0c644bf1be17edd682a9ed2a1cbe
parenta62f882c421d1b50c231cb6a30857ac5b5f4054a (diff)
downloadqt-creator-4023e56d421e9747e33de03b75fc22a4e02333bc.tar.gz
ProjectExplorer: Allow RunWorker::Starting -> Stopping
Can happen on worker startup, e.g. missing binaries, permissions, ... Change-Id: Ibeee0a6992af80d3486b00890664e83525f17204 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
-rw-r--r--src/plugins/projectexplorer/runconfiguration.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp
index 2c26207c83..0359bbd72b 100644
--- a/src/plugins/projectexplorer/runconfiguration.cpp
+++ b/src/plugins/projectexplorer/runconfiguration.cpp
@@ -825,7 +825,9 @@ void RunControlPrivate::continueStart()
void RunControlPrivate::initiateStop()
{
- checkState(RunControlState::Running);
+ if (state != RunControlState::Starting && state != RunControlState::Running)
+ qDebug() << "Unexpected initiateStop() in state" << stateName(state);
+
setState(RunControlState::Stopping);
debugMessage("Queue: Stopping for all workers");
@@ -1214,6 +1216,7 @@ bool RunControlPrivate::isAllowedTransition(RunControlState from, RunControlStat
|| to == RunControlState::Finishing;
case RunControlState::Starting:
return to == RunControlState::Running
+ || to == RunControlState::Stopping
|| to == RunControlState::Finishing;
case RunControlState::Running:
return to == RunControlState::Stopping