diff options
Diffstat (limited to 'src/plugins/debugger/qml/qmlv8debuggerclient.cpp')
-rw-r--r-- | src/plugins/debugger/qml/qmlv8debuggerclient.cpp | 25 |
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 |