aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2013-10-28 11:15:10 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-10-31 13:09:05 +0100
commit04bd4672717ce07d287cb744cbacdf7cb3ba8f60 (patch)
tree320bd526b15ffe3229bbdbe514412f77bb55875d /src/qml/debugger
parent426f6aa672b94d8324321bc6c6d4f1a358eebedc (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.cpp6
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;
}