Merge master into api_changes
[profile/ivi/qtdeclarative.git] / src / qml / qml / qqmlvme.cpp
index 352684e..5412315 100644 (file)
@@ -724,10 +724,15 @@ 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();
         QML_END_INSTR(StoreSignal)
 
         QML_BEGIN_INSTR(StoreImportedScript)