diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.cpp index 16db4f4386977cb5f78b4a880c591a21466ce9ae..db29a62e8288dab35fd422bbe3abb7f7d5b40df3 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemosshrunner.cpp @@ -223,9 +223,11 @@ void MaemoSshRunner::handleUnmounted() mount(); break; case PostRunCleaning: - case StopRequested: + case StopRequested: { m_mounter->resetMountSpecifications(); - if (m_state == StopRequested) { + const bool stopRequested = m_state == StopRequested; + setState(Inactive); + if (stopRequested) { emit remoteProcessFinished(InvalidExitCode); } else if (m_exitStatus == SshRemoteProcess::ExitedNormally) { emit remoteProcessFinished(m_runner->exitCode()); @@ -233,8 +235,8 @@ void MaemoSshRunner::handleUnmounted() emit error(tr("Error running remote process: %1") .arg(m_runner->errorString())); } - setState(Inactive); break; + } default: ; } } @@ -338,8 +340,8 @@ void MaemoSshRunner::setState(State newState) void MaemoSshRunner::emitError(const QString &errorMsg) { if (m_state != Inactive) { - emit error(errorMsg); setState(Inactive); + emit error(errorMsg); } }