diff options
Diffstat (limited to 'src/quick/util')
-rw-r--r-- | src/quick/util/qquickconnections.cpp | 7 | ||||
-rw-r--r-- | src/quick/util/qquickpropertychanges.cpp | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/quick/util/qquickconnections.cpp b/src/quick/util/qquickconnections.cpp index d2591557d1..98fc270e13 100644 --- a/src/quick/util/qquickconnections.cpp +++ b/src/quick/util/qquickconnections.cpp @@ -279,8 +279,9 @@ void QQuickConnections::connectSignals() QQmlProperty prop(target(), propName); if (prop.isValid() && (prop.type() & QQmlProperty::SignalProperty)) { + int signalIndex = QQmlPropertyPrivate::get(prop)->signalIndex(); QQmlBoundSignal *signal = - new QQmlBoundSignal(target(), QQmlPropertyPrivate::get(prop)->signalIndex(), this, qmlEngine(this)); + new QQmlBoundSignal(target(), signalIndex, this, qmlEngine(this)); QString location; QQmlContextData *ctxtdata = 0; @@ -292,7 +293,9 @@ void QQuickConnections::connectSignals() } QQmlBoundSignalExpression *expression = ctxtdata ? - new QQmlBoundSignalExpression(ctxtdata, 0, script, true, location, line, column) : 0; + new QQmlBoundSignalExpression(target(), signalIndex, + ctxtdata, this, script, + true, location, line, column) : 0; signal->takeExpression(expression); d->boundsignals += signal; } else { diff --git a/src/quick/util/qquickpropertychanges.cpp b/src/quick/util/qquickpropertychanges.cpp index 48c00f1d51..ead1cd7c0d 100644 --- a/src/quick/util/qquickpropertychanges.cpp +++ b/src/quick/util/qquickpropertychanges.cpp @@ -342,7 +342,9 @@ void QQuickPropertyChangesPrivate::decode() QQuickReplaceSignalHandler *handler = new QQuickReplaceSignalHandler; handler->property = prop; - handler->expression.take(new QQmlBoundSignalExpression(QQmlContextData::get(qmlContext(q)), object, expression, false, url.toString(), line, column)); + handler->expression.take(new QQmlBoundSignalExpression(object, QQmlPropertyPrivate::get(prop)->signalIndex(), + QQmlContextData::get(qmlContext(q)), object, expression, + false, url.toString(), line, column)); signalReplacements << handler; } else if (isScript) { // binding QString expression = data.toString(); |