QML_NEXT_INSTR(StoreV4Binding);
QDeclarativeAbstractBinding *binding =
- CTXT->v4bindings->configBinding(instr.value, target, scope, property);
+ CTXT->v4bindings->configBinding(instr.value, target, scope, property, instr.line);
bindValues.push(binding);
binding->m_mePtr = &bindValues.top();
binding->addToObject(target, property);
}
QDeclarativeAbstractBinding *QV4Bindings::configBinding(int index, QObject *target,
- QObject *scope, int property)
+ QObject *scope, int property, int line)
{
Binding *rv = bindings + index;
rv->property = property;
rv->target = target;
rv->scope = scope;
+ rv->line = line;
rv->parent = this;
addref(); // This is decremented in Binding::destroy()
void QV4Bindings::Binding::update(QDeclarativePropertyPrivate::WriteFlags flags)
{
QDeclarativeDebugTrace::startRange(QDeclarativeDebugTrace::Binding);
+ if (parent->context())
+ QDeclarativeDebugTrace::rangeLocation(QDeclarativeDebugTrace::Binding,
+ parent->context()->url, line);
parent->run(this, flags);
QDeclarativeDebugTrace::endRange(QDeclarativeDebugTrace::Binding);
}
virtual ~QV4Bindings();
QDeclarativeAbstractBinding *configBinding(int index, QObject *target,
- QObject *scope, int property);
+ QObject *scope, int property, int line);
#ifdef QML_THREADED_INTERPRETER
static void **getDecodeInstrTable();
bool updating:1;
int property;
QObject *scope;
+ int line;
QObject *target;
quint32 executedBlocks;