QmlDebugger: fixed shutdown combined engine

Task-number: QTCREATORBUG-4451

Reviewed-by: Kai Koehne
This commit is contained in:
Christiaan Janssen
2011-04-18 16:49:41 +02:00
parent 8aefc9801d
commit 42048fa2a0
2 changed files with 9 additions and 4 deletions

View File

@@ -209,9 +209,12 @@ public slots:
QTC_ASSERT(state() == EngineShutdownOk QTC_ASSERT(state() == EngineShutdownOk
|| state() == EngineShutdownFailed, qDebug() << state()); || state() == EngineShutdownFailed, qDebug() << state());
m_engine->setState(DebuggerFinished); m_engine->setState(DebuggerFinished);
resetLocation();
if (isMasterEngine()) {
m_engine->showMessage(_("QUEUE: FINISH DEBUGGER")); m_engine->showMessage(_("QUEUE: FINISH DEBUGGER"));
QTimer::singleShot(0, this, SLOT(doFinishDebugger())); QTimer::singleShot(0, this, SLOT(doFinishDebugger()));
} }
}
void raiseApplication() void raiseApplication()
{ {
@@ -1011,7 +1014,6 @@ void DebuggerEnginePrivate::doFinishDebugger()
{ {
m_engine->showMessage(_("NOTE: FINISH DEBUGGER")); m_engine->showMessage(_("NOTE: FINISH DEBUGGER"));
QTC_ASSERT(state() == DebuggerFinished, qDebug() << m_engine << state()); QTC_ASSERT(state() == DebuggerFinished, qDebug() << m_engine << state());
resetLocation();
if (isMasterEngine() && m_runControl) if (isMasterEngine() && m_runControl)
m_runControl->debuggingFinished(); m_runControl->debuggingFinished();
} }

View File

@@ -373,13 +373,13 @@ void QmlCppEngine::continueInferior()
void QmlCppEngine::interruptInferior() void QmlCppEngine::interruptInferior()
{ {
EDEBUG("\nMASTER INTERRUPT INFERIOR"); EDEBUG("\nMASTER INTERRUPT INFERIOR");
d->m_cppEngine->requestInterruptInferior();
} }
void QmlCppEngine::requestInterruptInferior() void QmlCppEngine::requestInterruptInferior()
{ {
EDEBUG("\nMASTER REQUEST INTERRUPT INFERIOR"); EDEBUG("\nMASTER REQUEST INTERRUPT INFERIOR");
DebuggerEngine::requestInterruptInferior(); DebuggerEngine::requestInterruptInferior();
d->m_cppEngine->requestInterruptInferior();
} }
void QmlCppEngine::executeRunToLine(const ContextData &data) void QmlCppEngine::executeRunToLine(const ContextData &data)
@@ -570,6 +570,9 @@ void QmlCppEngine::slaveEngineStateChanged
case InferiorStopOk: case InferiorStopOk:
if (isDying()) { if (isDying()) {
EDEBUG("... AN INFERIOR STOPPED DURING SHUTDOWN "); EDEBUG("... AN INFERIOR STOPPED DURING SHUTDOWN ");
if (state() == InferiorStopRequested) {
notifyInferiorStopOk();
}
} else { } else {
if (slaveEngine != d->m_activeEngine) { if (slaveEngine != d->m_activeEngine) {
QString engineName = slaveEngine == d->m_cppEngine QString engineName = slaveEngine == d->m_cppEngine