diff options
Diffstat (limited to 'src/script/api/qscriptengineagent.cpp')
-rw-r--r-- | src/script/api/qscriptengineagent.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/script/api/qscriptengineagent.cpp b/src/script/api/qscriptengineagent.cpp index ba8e5e9..6417ed8 100644 --- a/src/script/api/qscriptengineagent.cpp +++ b/src/script/api/qscriptengineagent.cpp @@ -163,9 +163,12 @@ void QScriptEngineAgentPrivate::exceptionCatch(const JSC::DebuggerCallFrame& fra void QScriptEngineAgentPrivate::atStatement(const JSC::DebuggerCallFrame& frame, intptr_t sourceID, int lineno, int column) { JSC::CallFrame *oldFrame = engine->currentFrame; + int oldAgentLineNumber = engine->agentLineNumber; engine->currentFrame = frame.callFrame(); + engine->agentLineNumber = lineno; q_ptr->positionChange(sourceID, lineno, column); engine->currentFrame = oldFrame; + engine->agentLineNumber = oldAgentLineNumber; } void QScriptEngineAgentPrivate::functionExit(const JSC::JSValue& returnValue, intptr_t sourceID) @@ -186,11 +189,14 @@ void QScriptEngineAgentPrivate::didReachBreakpoint(const JSC::DebuggerCallFrame& { if (q_ptr->supportsExtension(QScriptEngineAgent::DebuggerInvocationRequest)) { JSC::CallFrame *oldFrame = engine->currentFrame; + int oldAgentLineNumber = engine->agentLineNumber; engine->currentFrame = frame.callFrame(); + engine->agentLineNumber = lineno; QList<QVariant> args; args << qint64(sourceID) << lineno << column; q_ptr->extension(QScriptEngineAgent::DebuggerInvocationRequest, args); engine->currentFrame = oldFrame; + engine->agentLineNumber = oldAgentLineNumber; } }; |