diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2013-10-28 11:15:10 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-10-31 13:09:05 +0100 |
commit | 04bd4672717ce07d287cb744cbacdf7cb3ba8f60 (patch) | |
tree | 320bd526b15ffe3229bbdbe514412f77bb55875d /src/qml/debugger | |
parent | 426f6aa672b94d8324321bc6c6d4f1a358eebedc (diff) |
Fix hanging debug engine auto-tests
* Move the debugger agent to the same thread as the debug service. It cannot
live in the gui thread where it is created.
* When the debugger is paused, resume immediately for now. This should be removed
once the "counter" part propertly responds to V4_BREAK and resumes us through
a separate message.
Change-Id: I64ea5a4e95c07763dd87736fbc72fc8927a669e3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Diffstat (limited to 'src/qml/debugger')
-rw-r--r-- | src/qml/debugger/qv4debugservice.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/qml/debugger/qv4debugservice.cpp b/src/qml/debugger/qv4debugservice.cpp index ac239f31be..ecf7905844 100644 --- a/src/qml/debugger/qv4debugservice.cpp +++ b/src/qml/debugger/qv4debugservice.cpp @@ -45,6 +45,7 @@ #include "qv4debugging_p.h" #include "qv4engine_p.h" #include "qv4function_p.h" +#include "qqmldebugserver_p.h" #include <private/qv8engine_p.h> @@ -137,6 +138,8 @@ void QV4DebugService::addEngine(const QQmlEngine *engine) QV4::Debugging::Debugger *debugger = ee->debugger; d->debuggerMap.insert(d->debuggerIndex++, debugger); d->debuggerAgent.addDebugger(debugger); + d->debuggerAgent.moveToThread(d->server->thread()); + moveToThread(d->server->thread()); } } } @@ -260,6 +263,9 @@ void QV4DebuggerAgent::debuggerPaused(QV4::Debugging::Debugger *debugger) message << V4_LINENUMBER << QByteArray().number(state.lineNumber); QV4DebugService::instance()->sendMessage(QV4DebugServicePrivate::packMessage(V4_BREAK, -1, data)); + // ### TODO: Once the remote side supports V4_BREAK properly and sends us a V4_CONTINUE, then we + // can remove the following line: + resumeAll(); qDebug() << Q_FUNC_INFO; } |