aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/designer
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/designer')
-rw-r--r--src/quick/designer/qqmldesignermetaobject.cpp12
-rw-r--r--src/quick/designer/qqmldesignermetaobject_p.h4
2 files changed, 9 insertions, 7 deletions
diff --git a/src/quick/designer/qqmldesignermetaobject.cpp b/src/quick/designer/qqmldesignermetaobject.cpp
index e80012ba35..76c94b242d 100644
--- a/src/quick/designer/qqmldesignermetaobject.cpp
+++ b/src/quick/designer/qqmldesignermetaobject.cpp
@@ -226,7 +226,7 @@ int QQmlDesignerMetaObject::propertyOffset() const
return cache->propertyOffset();
}
-int QQmlDesignerMetaObject::openMetaCall(QMetaObject::Call call, int id, void **a)
+int QQmlDesignerMetaObject::openMetaCall(QObject *o, QMetaObject::Call call, int id, void **a)
{
if ((call == QMetaObject::ReadProperty || call == QMetaObject::WriteProperty)
&& id >= m_type->propertyOffset()) {
@@ -248,14 +248,16 @@ int QQmlDesignerMetaObject::openMetaCall(QMetaObject::Call call, int id, void **
} else {
QAbstractDynamicMetaObject *directParent = parent();
if (directParent)
- return directParent->metaCall(call, id, a);
+ return directParent->metaCall(o, call, id, a);
else
return myObject()->qt_metacall(call, id, a);
}
}
-int QQmlDesignerMetaObject::metaCall(QMetaObject::Call call, int id, void **a)
+int QQmlDesignerMetaObject::metaCall(QObject *o, QMetaObject::Call call, int id, void **a)
{
+ Q_ASSERT(myObject() == o);
+
int metaCallReturnValue = -1;
const QMetaProperty propertyById = QQmlVMEMetaObject::property(id);
@@ -288,9 +290,9 @@ int QQmlDesignerMetaObject::metaCall(QMetaObject::Call call, int id, void **a)
QAbstractDynamicMetaObject *directParent = parent();
if (directParent && id < directParent->propertyOffset()) {
- metaCallReturnValue = directParent->metaCall(call, id, a);
+ metaCallReturnValue = directParent->metaCall(o, call, id, a);
} else {
- openMetaCall(call, id, a);
+ openMetaCall(o, call, id, a);
}
diff --git a/src/quick/designer/qqmldesignermetaobject_p.h b/src/quick/designer/qqmldesignermetaobject_p.h
index eca4fb6a99..47f4baad2b 100644
--- a/src/quick/designer/qqmldesignermetaobject_p.h
+++ b/src/quick/designer/qqmldesignermetaobject_p.h
@@ -68,8 +68,8 @@ protected:
static QQmlDesignerMetaObject* getNodeInstanceMetaObject(QObject *object, QQmlEngine *engine);
void createNewDynamicProperty(const QString &name);
- int openMetaCall(QMetaObject::Call _c, int _id, void **_a);
- int metaCall(QMetaObject::Call _c, int _id, void **_a);
+ int openMetaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a);
+ int metaCall(QObject *o, QMetaObject::Call _c, int _id, void **_a);
void notifyPropertyChange(int id);
void setValue(int id, const QVariant &value);
QVariant propertyWriteValue(int, const QVariant &);