aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlproperty.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/qml/qqmlproperty.cpp')
-rw-r--r--src/qml/qml/qqmlproperty.cpp6
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;