From 879766d85cdde94e3df3c99298864f5c1cbeab74 Mon Sep 17 00:00:00 2001 From: Aurindam Jana <aurindam.jana@nokia.com> Date: Wed, 17 Aug 2011 13:42:41 +0200 Subject: [PATCH] Notify disconnect to debug server when inferiorshutdownrequested Change-Id: I15bb1342f647362cb00e4b0d0453b663a2d3f637 Reviewed-on: http://codereview.qt.nokia.com/3095 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com> --- src/plugins/debugger/qml/qmldebuggerclient.h | 1 + src/plugins/debugger/qml/qmlengine.cpp | 7 ++++--- src/plugins/debugger/qml/qmlv8debuggerclient.cpp | 12 ++++++++++++ src/plugins/debugger/qml/qmlv8debuggerclient.h | 1 + src/plugins/debugger/qml/qscriptdebuggerclient.cpp | 5 +++++ src/plugins/debugger/qml/qscriptdebuggerclient.h | 1 + 6 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/plugins/debugger/qml/qmldebuggerclient.h b/src/plugins/debugger/qml/qmldebuggerclient.h index 984869cf098..93c05299e23 100644 --- a/src/plugins/debugger/qml/qmldebuggerclient.h +++ b/src/plugins/debugger/qml/qmldebuggerclient.h @@ -59,6 +59,7 @@ public: virtual void continueInferior() = 0; virtual void interruptInferior() = 0; + virtual void shutdownInferior() = 0; virtual void activateFrame(int index) = 0; diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index 06f4d53d1c4..9ff95179ee4 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -375,10 +375,13 @@ void QmlEngine::handleRemoteSetupFailed(const QString &message) void QmlEngine::shutdownInferior() { + d->m_adapter.activeDebuggerClient()->shutdownInferior(); + if (isSlaveEngine()) { resetLocation(); } stopApplicationLauncher(); + notifyInferiorShutdownOk(); } @@ -417,7 +420,7 @@ void QmlEngine::interruptInferior() { logMessage(LogSend, "INTERRUPT"); d->m_adapter.activeDebuggerClient()->interruptInferior(); - + notifyInferiorStopOk(); } void QmlEngine::executeStep() @@ -724,8 +727,6 @@ void QmlEngine::inferiorSpontaneousStop() { if (state() == InferiorRunOk) notifyInferiorSpontaneousStop(); - else - notifyInferiorStopOk(); } void QmlEngine::disconnected() diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp index 0e1d9a41234..9c99a4fef33 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp @@ -192,6 +192,18 @@ void QmlV8DebuggerClient::interruptInferior() } +void QmlV8DebuggerClient::shutdownInferior() +{ + QByteArray request; + + JsonInputStream(request) << '{' << INITIALPARAMS ; + JsonInputStream(request) << ',' << "command" << ':' << "disconnect"; + + JsonInputStream(request) << '}'; + + sendMessage(packMessage(request)); +} + void QmlV8DebuggerClient::activateFrame(int index) { setLocals(index); diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.h b/src/plugins/debugger/qml/qmlv8debuggerclient.h index f446bb65b0b..decb635b5fd 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.h +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.h @@ -59,6 +59,7 @@ public: void continueInferior(); void interruptInferior(); + void shutdownInferior(); void activateFrame(int index); diff --git a/src/plugins/debugger/qml/qscriptdebuggerclient.cpp b/src/plugins/debugger/qml/qscriptdebuggerclient.cpp index bbeed2c99c6..6246e2ce891 100644 --- a/src/plugins/debugger/qml/qscriptdebuggerclient.cpp +++ b/src/plugins/debugger/qml/qscriptdebuggerclient.cpp @@ -192,6 +192,11 @@ void QScriptDebuggerClient::interruptInferior() sendMessage(reply); } +void QScriptDebuggerClient::shutdownInferior() +{ + +} + void QScriptDebuggerClient::activateFrame(int index) { QByteArray reply; diff --git a/src/plugins/debugger/qml/qscriptdebuggerclient.h b/src/plugins/debugger/qml/qscriptdebuggerclient.h index 9cc5c40cef1..9ebb93d4b7a 100644 --- a/src/plugins/debugger/qml/qscriptdebuggerclient.h +++ b/src/plugins/debugger/qml/qscriptdebuggerclient.h @@ -58,6 +58,7 @@ public: void continueInferior(); void interruptInferior(); + void shutdownInferior(); void activateFrame(int index); -- GitLab