aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/jsruntime
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2014-03-06 09:09:05 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-03-07 16:55:12 +0100
commite4a6c5b3e41d655efcbd34e4e2dc0fd28f3da196 (patch)
treede355eb8310f5581127f3765cae1f99c22b30023 /src/qml/jsruntime
parent39b54d7293741c712116010b33f0d9823ab2ab1c (diff)
Fix test failure in qqmldebugjs autotest
The debugger should only have one breakpoint that can be set per line. Nevertheless, we should have proper line number information available in case we stop at other places. We also need a debug instruction before the return statement, so that step out will always find a last stopping point in the parent frame. Change-Id: I86145fc244148f106a4a97ce69ab60b568c8dac6 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/qml/jsruntime')
-rw-r--r--src/qml/jsruntime/qv4engine.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qml/jsruntime/qv4engine.cpp b/src/qml/jsruntime/qv4engine.cpp
index 65165d4487..6aedc5ffd8 100644
--- a/src/qml/jsruntime/qv4engine.cpp
+++ b/src/qml/jsruntime/qv4engine.cpp
@@ -684,7 +684,8 @@ QVector<StackFrame> ExecutionEngine::stackTrace(int frameLimit) const
frame.column = -1;
if (callCtx->function->function)
- frame.line = callCtx->lineNumber;
+ // line numbers can be negative for places where you can't set a real breakpoint
+ frame.line = qAbs(callCtx->lineNumber);
stack.append(frame);
--frameLimit;