summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/debugger/qml/qmlv8debuggerclient.cpp')
-rw-r--r--src/plugins/debugger/qml/qmlv8debuggerclient.cpp25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
index c821da13a0..33577f5257 100644
--- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
+++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
@@ -138,6 +138,8 @@ public:
QHash<int, int> stackIndexLookup;
QmlV8DebuggerClient::StepAction previousStepAction;
+
+ QList<QByteArray> sendBuffer;
};
///////////////////////////////////////////////////////////////////////
@@ -745,7 +747,7 @@ void QmlV8DebuggerClientPrivate::logReceiveMessage(const QString &msg) const
///////////////////////////////////////////////////////////////////////
QmlV8DebuggerClient::QmlV8DebuggerClient(QmlDebug::QmlDebugConnection *client)
- : BaseQmlDebuggerClient(client, QLatin1String("V8Debugger")),
+ : QmlDebugClient(QLatin1String("V8Debugger"), client),
d(new QmlV8DebuggerClientPrivate(this))
{
}
@@ -1795,5 +1797,26 @@ void QmlV8DebuggerClient::clearExceptionSelection()
}
+void QmlV8DebuggerClient::stateChanged(State state)
+{
+ emit newState(state);
+}
+
+void QmlV8DebuggerClient::sendMessage(const QByteArray &msg)
+{
+ if (state() == Enabled)
+ QmlDebugClient::sendMessage(msg);
+ else
+ d->sendBuffer.append(msg);
+}
+
+void QmlV8DebuggerClient::flushSendBuffer()
+{
+ QTC_ASSERT(state() == Enabled, return);
+ foreach (const QByteArray &msg, d->sendBuffer)
+ QmlDebugClient::sendMessage(msg);
+ d->sendBuffer.clear();
+}
+
} // Internal
} // Debugger