diff options
Diffstat (limited to 'src/qml/qml/qqmlproperty.cpp')
-rw-r--r-- | src/qml/qml/qqmlproperty.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp index ea7d624c2c..2d459421d9 100644 --- a/src/qml/qml/qqmlproperty.cpp +++ b/src/qml/qml/qqmlproperty.cpp @@ -970,7 +970,11 @@ QQmlPropertyPrivate::setSignalExpression(const QQmlProperty &that, return signalHandler->setExpression(expr); if (expr) { - QQmlBoundSignal *signal = new QQmlBoundSignal(that.d->object, that.method(), that.d->object); + QQmlAbstractBoundSignal *signal = 0; + if (that.method().parameterTypes().count()) + signal = new QQmlBoundSignal(that.d->object, that.method(), that.d->object); + else + signal = new QQmlBoundSignalNoParams(that.d->object, that.method(), that.d->object); QQmlExpression *oldExpr = signal->setExpression(expr); signal->addToObject(); return oldExpr; |