diff --git a/src/plugins/debugger/debuggerconstants.h b/src/plugins/debugger/debuggerconstants.h index 99b4317fc57..cbe78109db2 100644 --- a/src/plugins/debugger/debuggerconstants.h +++ b/src/plugins/debugger/debuggerconstants.h @@ -118,7 +118,6 @@ enum DebuggerState EngineRunRequested, EngineRunFailed, - EngineRunOk, InferiorUnrunnable, // Used in the core dump adapter diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index e0b871ca26a..b7b13e0e5c5 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -331,7 +331,6 @@ const char *DebuggerEngine::stateName(int s) SN(EngineSetupOk) SN(EngineSetupFailed) SN(EngineRunFailed) - SN(EngineRunOk) SN(InferiorSetupRequested) SN(InferiorSetupFailed) SN(InferiorSetupOk) @@ -704,12 +703,12 @@ static bool isAllowedTransition(DebuggerState from, DebuggerState to) return to == EngineRunRequested; case EngineRunRequested: - return to == EngineRunOk || EngineRunFailed; + return to == EngineRunFailed + || to == InferiorRunOk + || to == InferiorStopOk + || to == InferiorUnrunnable; case EngineRunFailed: return to == EngineShutdownRequested; - case EngineRunOk: - return InferiorRunOk || to == InferiorStopOk - || to == InferiorUnrunnable; case InferiorRunRequested: return to == InferiorRunOk || to == InferiorRunFailed; @@ -864,9 +863,7 @@ void DebuggerEngine::notifyEngineRunAndInferiorRunOk() d->m_progress.setProgressValue(1000); d->m_progress.reportFinished(); QTC_ASSERT(state() == EngineRunRequested, qDebug() << this << state()); - setState(EngineRunOk); - if (isMasterEngine()) - setState(InferiorRunOk); + setState(InferiorRunOk); } void DebuggerEngine::notifyEngineRunAndInferiorStopOk() @@ -875,9 +872,7 @@ void DebuggerEngine::notifyEngineRunAndInferiorStopOk() d->m_progress.setProgressValue(1000); d->m_progress.reportFinished(); QTC_ASSERT(state() == EngineRunRequested, qDebug() << this << state()); - setState(EngineRunOk); - if (isMasterEngine()) - setState(InferiorStopOk); + setState(InferiorStopOk); } void DebuggerEngine::notifyInferiorRunRequested() @@ -1193,7 +1188,6 @@ bool DebuggerEngine::debuggerActionsEnabled(DebuggerState state) case EngineSetupFailed: case EngineRunRequested: case EngineRunFailed: - case EngineRunOk: case InferiorSetupFailed: case InferiorStopFailed: case InferiorStopSpontaneous: diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 2d3a22a4c90..ceb531271a0 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -199,8 +199,6 @@ // Inferior- Inferior- Inferior- EngineRun- + // Unrunnable} StopOk} RunOk} Failed} + // + + + + + -// EngineRunOk EngineRunOk EngineRunOk + + -// + + + + + // InferiorUnrunnable + InferiorRunOk + + // + + + // InferiorStopOk EngineRunFailed + diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index fe7a3adee69..0fc17c4e189 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -144,7 +144,6 @@ static bool stateAcceptsGdbCommands(DebuggerState state) case InferiorStopSpontaneous: case InferiorSetupOk: case EngineRunFailed: - case EngineRunOk: case InferiorExitOk: case InferiorRunFailed: case EngineShutdownOk: diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index 7bff1a725bd..1236a3264a2 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -440,18 +440,6 @@ void QmlCppEngine::slaveEngineStateChanged notifyEngineRunFailed(); break; - case EngineRunOk: - if (otherEngine->state() == EngineRunOk) { - // This is conditionalized on isMasterEngine() in the - // base class, so do it here manually. - slaveEngine->setSilentState(InferiorRunOk); - otherEngine->setSilentState(InferiorRunOk); - notifyEngineRunAndInferiorRunOk(); - } else { - qDebug() << "... WAITING FOR OTHER ENGINE RUN..."; - } - break; - case InferiorRunRequested: break; @@ -461,11 +449,21 @@ void QmlCppEngine::slaveEngineStateChanged break; case InferiorRunOk: - qDebug() << "PLANNED INFERIOR RUN"; - if (otherEngine->state() == InferiorRunOk) - notifyInferiorRunOk(); - else - qDebug() << " **** INFERIOR RUN NOT OK ****"; + if (state() == EngineRunRequested) { + if (otherEngine->state() == InferiorRunOk) + notifyEngineRunAndInferiorRunOk(); + else if (otherEngine->state() == InferiorRunOk) + notifyEngineRunAndInferiorStopOk(); + else + qDebug() << "... WAITING FOR OTHER INFERIOR RUN"; + } else { + if (otherEngine->state() == InferiorRunOk) { + qDebug() << "PLANNED INFERIOR RUN"; + notifyInferiorRunOk(); + } else { + qDebug() << " **** INFERIOR RUN NOT OK ****"; + } + } break; diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index b0bae0a6267..a29b4ecf6b2 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -676,7 +676,7 @@ void QmlEngine::messageReceived(const QByteArray &message) if (command == "STOPPED") { qDebug() << command << this << state(); - if (state() == InferiorRunOk || state() == EngineRunOk) + if (state() == InferiorRunOk) notifyInferiorSpontaneousStop(); QString logString = QString(command);