summaryrefslogtreecommitdiff
path: root/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qml/qmlobserver/jsdebuggeragent.cpp')
-rw-r--r--src/tools/qml/qmlobserver/jsdebuggeragent.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
index 0eb01c21b1..29c3d40031 100644
--- a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
+++ b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
@@ -273,13 +273,11 @@ void JSDebuggerAgent::positionChange(qint64 scriptId,
}
}
-
switch (state) {
case NoState:
case Stopped:
// Do nothing
break;
-
case SteppingOutState:
if (stepDepth >= 0)
break;
@@ -318,6 +316,22 @@ void JSDebuggerAgent::exceptionCatch(qint64 scriptId,
Q_UNUSED(exception);
}
+bool JSDebuggerAgent::supportsExtension(QScriptEngineAgent::Extension extension) const
+{
+ return extension == QScriptEngineAgent::DebuggerInvocationRequest;
+}
+
+QVariant JSDebuggerAgent::extension(QScriptEngineAgent::Extension extension, const QVariant& argument)
+{
+ if (extension == QScriptEngineAgent::DebuggerInvocationRequest) {
+ stopped();
+ return QVariant();
+ }
+ return QScriptEngineAgent::extension(extension, argument);
+}
+
+
+
void JSDebuggerAgent::messageReceived(const QByteArray& message)
{
QDataStream ds(message);