diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 2a5f56048fb..7f185911e8c 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -226,7 +226,6 @@ public: this, &DebuggerEnginePrivate::resetLocation); } - void doSetupEngine(); void doRunEngine(); void doShutdownEngine(); void doShutdownInferior(); @@ -512,8 +511,9 @@ void DebuggerEngine::start() // }); // } - d->doSetupEngine(); - QTC_ASSERT(state() == EngineSetupRequested, qDebug() << this << state()); + setState(EngineSetupRequested); + showMessage("CALL: SETUP ENGINE"); + setupEngine(); } void DebuggerEngine::resetLocation() @@ -639,14 +639,9 @@ static bool isAllowedTransition(DebuggerState from, DebuggerState to) void DebuggerEngine::setupSlaveEngine() { QTC_CHECK(state() == DebuggerNotReady); - d->doSetupEngine(); -} - -void DebuggerEnginePrivate::doSetupEngine() -{ - m_engine->setState(EngineSetupRequested); - m_engine->showMessage("CALL: SETUP ENGINE"); - m_engine->setupEngine(); + setState(EngineSetupRequested); + showMessage("CALL: SETUP SLAVE ENGINE"); + setupEngine(); } void DebuggerEngine::notifyEngineSetupFailed() @@ -676,6 +671,15 @@ void DebuggerEngine::notifyEngineSetupOk() setState(InferiorSetupRequested); showMessage("CALL: SETUP INFERIOR"); d->m_progress.setProgressValue(250); + if (isMasterEngine()) + setupInferior(); +} + +void DebuggerEngine::setupSlaveInferior() +{ + QTC_CHECK(state() == EngineSetupOk); + setState(InferiorSetupRequested); + showMessage("CALL: SETUP SLAVE INFERIOR"); setupInferior(); } diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index 1dc3b9bfeaf..7de8bf82978 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -466,6 +466,7 @@ protected: void showStoppedByExceptionMessageBox(const QString &description); virtual void setupSlaveEngine(); + virtual void setupSlaveInferior(); virtual void runSlaveEngine(); virtual void shutdownSlaveEngine(); diff --git a/src/plugins/debugger/qml/qmlcppengine.cpp b/src/plugins/debugger/qml/qmlcppengine.cpp index 7554a68d8b2..27bcdb3f28f 100644 --- a/src/plugins/debugger/qml/qmlcppengine.cpp +++ b/src/plugins/debugger/qml/qmlcppengine.cpp @@ -374,8 +374,8 @@ void QmlCppEngine::setupEngine() void QmlCppEngine::setupInferior() { EDEBUG("\nMASTER SETUP INFERIOR"); - m_qmlEngine->setupInferior(); - m_cppEngine->setupInferior(); + m_qmlEngine->setupSlaveInferior(); + m_cppEngine->setupSlaveInferior(); } void QmlCppEngine::runEngine()