Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/script/api/qscriptengineagent.cpp

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation (qt-info@nokia.com)
     
    118118        engine->originalGlobalObject()->setDebugger(0);
    119119    JSC::Debugger::attach(engine->originalGlobalObject());
     120    if (!QScriptEnginePrivate::get(engine)->isEvaluating())
     121        JSC::Debugger::recompileAllJSFunctions(engine->globalData);
    120122}
    121123
     
    135137{
    136138    JSC::CallFrame *oldFrame = engine->currentFrame;
     139    int oldAgentLineNumber = engine->agentLineNumber;
    137140    engine->currentFrame = frame.callFrame();
    138141    QScriptValue value(engine->scriptValueFromJSCValue(frame.exception()));
     142    engine->agentLineNumber = value.property(QLatin1String("lineNumber")).toInt32();
    139143    q_ptr->exceptionThrow(sourceID, value, hasHandler);
     144    engine->agentLineNumber = oldAgentLineNumber;
    140145    engine->currentFrame = oldFrame;
    141146    engine->setCurrentException(value);
     
    152157}
    153158
    154 void QScriptEngineAgentPrivate::atStatement(const JSC::DebuggerCallFrame& frame, intptr_t sourceID, int lineno, int column)
     159void QScriptEngineAgentPrivate::atStatement(const JSC::DebuggerCallFrame& frame, intptr_t sourceID, int lineno/*, int column*/)
    155160{
    156161    QScript::UStringSourceProviderWithFeedback *source = engine->loadedScripts.value(sourceID);
     
    159164        return;
    160165    }
    161     column = source->columnNumberFromOffset(column);
     166//    column = source->columnNumberFromOffset(column);
     167    int column = 1;
    162168    JSC::CallFrame *oldFrame = engine->currentFrame;
    163169    int oldAgentLineNumber = engine->agentLineNumber;
     
    183189
    184190void QScriptEngineAgentPrivate::didReachBreakpoint(const JSC::DebuggerCallFrame& frame,
    185                                                    intptr_t sourceID, int lineno, int column)
     191                                                   intptr_t sourceID, int lineno/*, int column*/)
    186192{
    187193    if (q_ptr->supportsExtension(QScriptEngineAgent::DebuggerInvocationRequest)) {
     
    191197            return;
    192198        }
    193         column = source->columnNumberFromOffset(column);
     199//        column = source->columnNumberFromOffset(column);
     200        int column = 1;
    194201        JSC::CallFrame *oldFrame = engine->currentFrame;
    195202        int oldAgentLineNumber = engine->agentLineNumber;
     
    366373  This function is called when the engine is about to execute a new
    367374  statement in the script identified by \a scriptId.  The statement
    368   begins on the line and column specified by \a lineNumber and \a
    369   columnNumber.  This event is not generated for native Qt Script
    370   functions.
     375  begins on the line and column specified by \a lineNumber
     376  This event is not generated for native Qt Script functions.
    371377
    372378  Reimplement this function to handle this event. For example, a
     
    376382
    377383  The default implementation does nothing.
     384
     385  \note \a columnNumber is undefined
    378386
    379387  \sa scriptLoad(), functionEntry()
Note: See TracChangeset for help on using the changeset viewer.