summaryrefslogtreecommitdiffstats
path: root/src/script/api/qscriptengineagent.cpp
diff options
context:
space:
mode:
authorKent Hansen <khansen@trolltech.com>2009-10-01 10:14:12 (GMT)
committerKent Hansen <khansen@trolltech.com>2009-10-01 10:18:00 (GMT)
commit0ae74e4c267c7b15a405240ec4dc038374d95bd2 (patch)
tree7a7ec615c1ed281af935680f11d334b4459dd6ca /src/script/api/qscriptengineagent.cpp
parenta9d47220b9f0936550522d9a34748692701a2acf (diff)
downloadQt-0ae74e4c267c7b15a405240ec4dc038374d95bd2.zip
Qt-0ae74e4c267c7b15a405240ec4dc038374d95bd2.tar.gz
Qt-0ae74e4c267c7b15a405240ec4dc038374d95bd2.tar.bz2
Fix column number provided to QScriptEngineAgent
Introduced a helper function in our custom source provider, columnNumberFromOffset(), that maps an absolute offset in the source input to a relative column number. Reviewed-by: Jedrzej Nowacki
Diffstat (limited to 'src/script/api/qscriptengineagent.cpp')
-rw-r--r--src/script/api/qscriptengineagent.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/script/api/qscriptengineagent.cpp b/src/script/api/qscriptengineagent.cpp
index 84ae380..bc2eea2 100644
--- a/src/script/api/qscriptengineagent.cpp
+++ b/src/script/api/qscriptengineagent.cpp
@@ -169,6 +169,9 @@ void QScriptEngineAgentPrivate::exceptionCatch(const JSC::DebuggerCallFrame& fra
void QScriptEngineAgentPrivate::atStatement(const JSC::DebuggerCallFrame& frame, intptr_t sourceID, int lineno, int column)
{
+ QScript::UStringSourceProviderWithFeedback *source = engine->loadedScripts.value(sourceID);
+ Q_ASSERT(source != 0);
+ column = source->columnNumberFromOffset(column);
JSC::CallFrame *oldFrame = engine->currentFrame;
int oldAgentLineNumber = engine->agentLineNumber;
engine->currentFrame = frame.callFrame();
@@ -195,6 +198,9 @@ void QScriptEngineAgentPrivate::didReachBreakpoint(const JSC::DebuggerCallFrame&
intptr_t sourceID, int lineno, int column)
{
if (q_ptr->supportsExtension(QScriptEngineAgent::DebuggerInvocationRequest)) {
+ QScript::UStringSourceProviderWithFeedback *source = engine->loadedScripts.value(sourceID);
+ Q_ASSERT(source != 0);
+ column = source->columnNumberFromOffset(column);
JSC::CallFrame *oldFrame = engine->currentFrame;
int oldAgentLineNumber = engine->agentLineNumber;
engine->currentFrame = frame.callFrame();