aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp')
-rw-r--r--src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp
index 6524a1ff28..dcf1fe8335 100644
--- a/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp
+++ b/src/plugins/qmltooling/qmldbg_debugger/qv4debugservice.cpp
@@ -602,8 +602,11 @@ public:
virtual void handleRequest()
{
- QV4Debugger *debugger = debugService->debuggerAgent.pausedDebugger();
+ QJsonObject arguments = req.value(QStringLiteral("arguments")).toObject();
+ QString expression = arguments.value(QStringLiteral("expression")).toString();
+ int frame = -1;
+ QV4Debugger *debugger = debugService->debuggerAgent.pausedDebugger();
if (!debugger) {
const QList<QV4Debugger *> &debuggers = debugService->debuggerAgent.debuggers();
if (debuggers.count() > 1) {
@@ -614,12 +617,10 @@ public:
return;
}
debugger = debuggers.first();
+ } else {
+ frame = arguments.value(QStringLiteral("frame")).toInt(0);
}
- QJsonObject arguments = req.value(QStringLiteral("arguments")).toObject();
- QString expression = arguments.value(QStringLiteral("expression")).toString();
- const int frame = arguments.value(QStringLiteral("frame")).toInt(0);
-
ExpressionEvalJob job(debugger->engine(), frame, expression, debugger->collector());
debugger->runInEngine(&job);
if (job.hasExeption()) {