summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlvmemetaobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qmlvmemetaobject.cpp')
-rw-r--r--src/declarative/qml/qmlvmemetaobject.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/declarative/qml/qmlvmemetaobject.cpp b/src/declarative/qml/qmlvmemetaobject.cpp
index 3b784a4..ec269b8 100644
--- a/src/declarative/qml/qmlvmemetaobject.cpp
+++ b/src/declarative/qml/qmlvmemetaobject.cpp
@@ -168,7 +168,10 @@ int QmlVMEMetaObject::metaCall(QMetaObject::Call c, int id, void **a)
return id;
}
} else if(c == QMetaObject::InvokeMetaMethod) {
- if(id >= baseSlot && id < (baseSlot + slotCount)) {
+ if (id >= baseSig && (baseSlot == -1 || id < baseSlot)) {
+ QMetaObject::activate(object, id, a);
+ return id;
+ } else if (id >= baseSlot && id < (baseSlot + slotCount)) {
int idx = id - baseSlot + slotDataIdx;
QmlContext *ctxt = qmlContext(object);
QmlExpression expr(ctxt, slotData->at(idx), object);