aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlvme.cpp
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2012-03-23 09:32:45 +1000
committerQt by Nokia <qt-info@nokia.com>2012-03-27 06:54:34 +0200
commitec7deb3d123bb44b5d57590615a60ed48b1d2860 (patch)
tree4b6e98a85cc2fece6ad3cad29090a1294e94cd55 /src/qml/qml/qqmlvme.cpp
parentf931ec39513854e56560fe85d55a5d144e22af88 (diff)
Add QQmlBoundSignalNoParamsqt-v5.0.0-alpha1
This class is used for signal handlers with no parameters, and is more lightweight than QQmlBoundSignal. Change-Id: Ie63eb989d334906657fd16fe35386df198654c28 Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlvme.cpp')
-rw-r--r--src/qml/qml/qqmlvme.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlvme.cpp b/src/qml/qml/qqmlvme.cpp
index ba53f8d7c1..6010adfcfc 100644
--- a/src/qml/qml/qqmlvme.cpp
+++ b/src/qml/qml/qqmlvme.cpp
@@ -711,8 +711,12 @@ QObject *QQmlVME::run(QList<QQmlError> *errors,
QMetaMethod signal = target->metaObject()->method(instr.signalIndex);
- QQmlBoundSignal *bs = new QQmlBoundSignal(target, signal, target);
- QQmlExpression *expr =
+ QQmlAbstractBoundSignal *bs = 0;
+ if (signal.parameterTypes().count())
+ bs = new QQmlBoundSignal(target, signal, target);
+ else
+ bs = new QQmlBoundSignalNoParams(target, signal, target);
+ QQmlExpression *expr =
new QQmlExpression(CTXT, context, DATAS.at(instr.value), true, COMP->name, instr.line, instr.column, *new QQmlExpressionPrivate);
bs->setExpression(expr);
bs->addToObject();