aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/qml/qmlengine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/qml/qmlengine.cpp')
-rw-r--r--src/plugins/debugger/qml/qmlengine.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index 27624f61dd..dda927f0f1 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -478,12 +478,11 @@ void QmlEngine::gotoLocation(const Location &location)
void QmlEngine::closeConnection()
{
- if (d->connectionTimer.isActive()) {
- d->connectionTimer.stop();
- } else {
- if (QmlDebugConnection *connection = d->connection())
- connection->close();
- }
+ d->automaticConnect = false;
+ d->retryOnConnectFail = false;
+ d->connectionTimer.stop();
+ if (QmlDebugConnection *connection = d->connection())
+ connection->close();
}
void QmlEngine::startProcess()
@@ -515,8 +514,8 @@ void QmlEngine::shutdownInferior()
d->runCommand({DISCONNECT});
resetLocation();
- stopProcess();
closeConnection();
+ stopProcess();
notifyInferiorShutdownFinished();
}
@@ -574,6 +573,10 @@ void QmlEngine::continueInferior()
void QmlEngine::interruptInferior()
{
+ if (isDying()) {
+ notifyInferiorStopOk();
+ return;
+ }
showMessage(INTERRUPT, LogInput);
d->runDirectCommand(INTERRUPT);
showStatusMessage(Tr::tr("Waiting for JavaScript engine to interrupt on next statement."));
@@ -948,6 +951,8 @@ Context QmlEngine::languageContext() const
void QmlEngine::disconnected()
{
+ if (isDying())
+ return;
showMessage(Tr::tr("QML Debugger disconnected."), StatusBar);
notifyInferiorExited();
}
@@ -1122,6 +1127,8 @@ bool QmlEngine::isConnected() const
void QmlEngine::showConnectionStateMessage(const QString &message)
{
+ if (isDying())
+ return;
showMessage("QML Debugger: " + message, LogStatus);
}