diff options
author | hjk <hjk@qt.io> | 2017-08-09 12:06:05 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-08-09 12:16:27 +0000 |
commit | 4023e56d421e9747e33de03b75fc22a4e02333bc (patch) | |
tree | 1722c60297be0c644bf1be17edd682a9ed2a1cbe | |
parent | a62f882c421d1b50c231cb6a30857ac5b5f4054a (diff) | |
download | qt-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.cpp | 5 |
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 |