diff options
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/qtquick2.cpp | 6 | ||||
-rw-r--r-- | src/quick/util/qdeclarativeconnections.cpp | 7 | ||||
-rw-r--r-- | src/quick/util/qdeclarativepropertychanges.cpp | 6 |
3 files changed, 12 insertions, 7 deletions
diff --git a/src/quick/qtquick2.cpp b/src/quick/qtquick2.cpp index 8614589557..232a621ce3 100644 --- a/src/quick/qtquick2.cpp +++ b/src/quick/qtquick2.cpp @@ -67,7 +67,7 @@ public: virtual void updateBinding(QDeclarativeContext *context, const QDeclarativeProperty &property, const QVariant &expression, bool isLiteralValue, - const QString &fileName, int line, + const QString &fileName, int line, int column, bool *isBaseState); virtual bool setBindingForInvalidProperty(QObject *object, const QString &propertyName, @@ -122,7 +122,7 @@ void QDeclarativeQtQuick2DebugStatesDelegate::buildStatesList(QObject *obj) void QDeclarativeQtQuick2DebugStatesDelegate::updateBinding(QDeclarativeContext *context, const QDeclarativeProperty &property, const QVariant &expression, bool isLiteralValue, - const QString &fileName, int line, + const QString &fileName, int line, int column, bool *inBaseState) { QObject *object = property.object(); @@ -138,7 +138,7 @@ void QDeclarativeQtQuick2DebugStatesDelegate::updateBinding(QDeclarativeContext newBinding = new QDeclarativeBinding(expression.toString(), object, context); newBinding->setTarget(property); newBinding->setNotifyOnValueChanged(true); - newBinding->setSourceLocation(fileName, line); + newBinding->setSourceLocation(fileName, line, column); } state->changeBindingInRevertList(object, propertyName, newBinding); diff --git a/src/quick/util/qdeclarativeconnections.cpp b/src/quick/util/qdeclarativeconnections.cpp index 92bb1ffa0f..7b977c8f5c 100644 --- a/src/quick/util/qdeclarativeconnections.cpp +++ b/src/quick/util/qdeclarativeconnections.cpp @@ -204,6 +204,7 @@ QDeclarativeConnectionsParser::compile(const QList<QDeclarativeCustomParserPrope { QString propName = props.at(ii).name(); int propLine = props.at(ii).location().line; + int propColumn = props.at(ii).location().column; if (!propName.startsWith(QLatin1String("on")) || !propName.at(2).isUpper()) { error(props.at(ii), QDeclarativeConnections::tr("Cannot assign to non-existent property \"%1\"").arg(propName)); @@ -227,6 +228,7 @@ QDeclarativeConnectionsParser::compile(const QList<QDeclarativeCustomParserPrope ds << propName; ds << rewriteSignalHandler(v.asScript(), propName); ds << propLine; + ds << propColumn; } else { error(props.at(ii), QDeclarativeConnections::tr("Connections: script expected")); return QByteArray(); @@ -261,6 +263,9 @@ void QDeclarativeConnections::connectSignals() ds >> script; int line; ds >> line; + int column; + ds >> column; + QDeclarativeProperty prop(target(), propName); if (prop.isValid() && (prop.type() & QDeclarativeProperty::SignalProperty)) { QDeclarativeBoundSignal *signal = @@ -276,7 +281,7 @@ void QDeclarativeConnections::connectSignals() } QDeclarativeExpression *expression = ctxtdata ? - QDeclarativeExpressionPrivate::create(ctxtdata, 0, script, true, location, line) : 0; + QDeclarativeExpressionPrivate::create(ctxtdata, 0, script, true, location, line, column) : 0; signal->setExpression(expression); d->boundsignals += signal; } else { diff --git a/src/quick/util/qdeclarativepropertychanges.cpp b/src/quick/util/qdeclarativepropertychanges.cpp index a475c5f879..9404b24560 100644 --- a/src/quick/util/qdeclarativepropertychanges.cpp +++ b/src/quick/util/qdeclarativepropertychanges.cpp @@ -337,7 +337,7 @@ void QDeclarativePropertyChangesPrivate::decode() QDeclarativeExpression *expression = new QDeclarativeExpression(qmlContext(q), object, data.toString()); QDeclarativeData *ddata = QDeclarativeData::get(q); if (ddata && ddata->outerContext && !ddata->outerContext->url.isEmpty()) - expression->setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber); + expression->setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber, ddata->columnNumber); QDeclarativeReplaceSignalHandler *handler = new QDeclarativeReplaceSignalHandler; handler->property = prop; handler->expression = expression; @@ -346,7 +346,7 @@ void QDeclarativePropertyChangesPrivate::decode() QDeclarativeExpression *expression = new QDeclarativeExpression(qmlContext(q), object, data.toString()); QDeclarativeData *ddata = QDeclarativeData::get(q); if (ddata && ddata->outerContext && !ddata->outerContext->url.isEmpty()) - expression->setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber); + expression->setSourceLocation(ddata->outerContext->url.toString(), ddata->lineNumber, ddata->columnNumber); expressions << ExpressionChange(name, id, expression); } else { properties << qMakePair(name, data); @@ -480,7 +480,7 @@ QDeclarativePropertyChanges::ActionList QDeclarativePropertyChanges::actions() QDeclarativeBinding *newBinding = id != QDeclarativeBinding::Invalid ? QDeclarativeBinding::createBinding(id, object(), qmlContext(this), e->sourceFile(), e->lineNumber()) : 0; if (!newBinding) { newBinding = new QDeclarativeBinding(e->expression(), object(), qmlContext(this)); - newBinding->setSourceLocation(e->sourceFile(), e->lineNumber()); + newBinding->setSourceLocation(e->sourceFile(), e->lineNumber(), e->columnNumber()); } newBinding->setTarget(prop); a.toBinding = newBinding; |