diff options
Diffstat (limited to 'src/qml/debugger/qv8debugservice.cpp')
-rw-r--r-- | src/qml/debugger/qv8debugservice.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/qml/debugger/qv8debugservice.cpp b/src/qml/debugger/qv8debugservice.cpp index f41907a032..9045b4b50e 100644 --- a/src/qml/debugger/qv8debugservice.cpp +++ b/src/qml/debugger/qv8debugservice.cpp @@ -107,7 +107,8 @@ class QV8DebugServicePrivate : public QQmlDebugServicePrivate { public: QV8DebugServicePrivate() - : engine(0) + : engine(0), + debugIsolate(0) { } @@ -119,6 +120,7 @@ public: QWaitCondition initializeCondition; QStringList breakOnSignals; const QV8Engine *engine; + v8::Isolate *debugIsolate; }; QV8DebugService::QV8DebugService(QObject *parent) @@ -186,6 +188,9 @@ void QV8DebugService::signalEmitted(const QString &signal) // executed in the gui thread void QV8DebugService::init() { + Q_D(QV8DebugService); + if (!d->debugIsolate) + d->debugIsolate = v8::Isolate::GetCurrent(); v8::Debug::SetMessageHandler2(DebugMessageHandler); v8::Debug::SetDebugMessageDispatchHandler(DebugMessageDispatchHandler); QV4Compiler::enableV4(false); @@ -267,7 +272,8 @@ void QV8DebugService::messageReceived(const QByteArray &message) void QV8DebugService::sendDebugMessage(const QString &message) { - v8::Debug::SendCommand(message.utf16(), message.size()); + Q_D(QV8DebugService); + v8::Debug::SendCommand(message.utf16(), message.size(), 0, d->debugIsolate); } void QV8DebugService::processDebugMessages() |