diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index 0a40d0fd1c9..bb24a536066 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -931,10 +931,7 @@ void DebuggerEngine::notifyDebuggerProcessFinished(int exitCode, break; default: { // Initiate shutdown sequence - if (isMasterEngine()) - notifyEngineIll(); - else - masterEngine()->notifyInferiorIll(); + masterEngine()->notifyInferiorIll(); const QString msg = exitStatus == QProcess::CrashExit ? tr("The %1 process terminated.") : tr("The %2 process terminated unexpectedly (exit code %1).").arg(exitCode); @@ -1019,9 +1016,9 @@ void DebuggerEngine::setMasterEngine(DebuggerEngine *masterEngine) d->m_masterEngine = masterEngine; } -DebuggerEngine *DebuggerEngine::masterEngine() const +DebuggerEngine *DebuggerEngine::masterEngine() { - return d->m_masterEngine; + return d->m_masterEngine ? d->m_masterEngine : this; } bool DebuggerEngine::canDisplayTooltip() const diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index f8ebb49cadc..fc01a29ca87 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -364,7 +364,7 @@ public: void updateViews(); bool isSlaveEngine() const; bool isMasterEngine() const; - DebuggerEngine *masterEngine() const; + DebuggerEngine *masterEngine(); virtual DebuggerEngine *activeEngine() { return this; } virtual DebuggerEngine *cppEngine() { return 0; } diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index 9fefece817a..96007d1bcb6 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -348,12 +348,9 @@ void QmlEngine::tryToConnect() showMessage("QML Debugger: Trying to connect ...", LogStatus); d->retryOnConnectFail = true; if (state() == EngineRunRequested) { - if (isSlaveEngine()) { + if (isDying()) { // Probably cpp is being debugged and hence we did not get the output yet. - if (!masterEngine()->isDying()) - beginConnection(); - else - appStartupFailed(tr("No application output received in time")); + appStartupFailed(tr("No application output received in time")); } else { beginConnection(); } @@ -779,7 +776,7 @@ void QmlEngine::attemptBreakpointSynchronization() BreakHandler *handler = breakHandler(); - DebuggerEngine *bpOwner = isSlaveEngine() ? masterEngine() : this; + DebuggerEngine *bpOwner = masterEngine(); foreach (Breakpoint bp, handler->unclaimedBreakpoints()) { // Take ownership of the breakpoint. Requests insertion. if (acceptsBreakpoint(bp)) diff --git a/src/plugins/debugger/qml/qmlinspectoragent.cpp b/src/plugins/debugger/qml/qmlinspectoragent.cpp index e894cca847a..0f2d35c78a6 100644 --- a/src/plugins/debugger/qml/qmlinspectoragent.cpp +++ b/src/plugins/debugger/qml/qmlinspectoragent.cpp @@ -70,7 +70,7 @@ QmlInspectorAgent::QmlInspectorAgent(QmlEngine *engine, QmlDebugConnection *conn , m_engineQueryId(0) , m_rootContextQueryId(0) , m_objectToSelect(WatchItem::InvalidId) - , m_masterEngine(engine) + , m_masterEngine(engine->masterEngine()) , m_toolsClient(0) , m_targetToSync(NoTarget) , m_debugIdToSelect(WatchItem::InvalidId) @@ -92,9 +92,6 @@ QmlInspectorAgent::QmlInspectorAgent(QmlEngine *engine, QmlDebugConnection *conn connect(&m_delayQueryTimer, &QTimer::timeout, this, &QmlInspectorAgent::queryEngineContext); - if (!m_masterEngine->isMasterEngine()) - m_masterEngine = m_masterEngine->masterEngine(); - auto engineClient1 = new DeclarativeEngineDebugClient(connection); connect(engineClient1, &BaseEngineDebugClient::newState, this, &QmlInspectorAgent::clientStateChanged);