aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2021-10-06 10:44:08 +0200
committerUlf Hermann <ulf.hermann@qt.io>2021-10-08 06:41:49 +0200
commit49e549934dbd993e9e352a5719f85d1a5475a2f5 (patch)
treede71a4d8677f34bb331d64787891f99d59ced934 /src
parent519e08f90c6f652b89b842505dae216b88e3053b (diff)
Adapt to changed return value for toDynamicMetaObject()
Change-Id: I6b68c89a36ba587a34a26b326ac8bff4ebe1c4cd Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/qml/qml/qqmlvaluetype.cpp2
-rw-r--r--src/qml/qml/qqmlvaluetype_p.h2
-rw-r--r--src/qml/qml/qqmlvmemetaobject.cpp2
-rw-r--r--src/qml/qml/qqmlvmemetaobject_p.h2
-rw-r--r--src/qmlmodels/qqmllistmodel.cpp2
-rw-r--r--src/qmlmodels/qqmllistmodel_p_p.h2
-rw-r--r--src/quick/designer/qqmldesignermetaobject.cpp22
-rw-r--r--src/quick/designer/qqmldesignermetaobject_p.h3
8 files changed, 19 insertions, 18 deletions
diff --git a/src/qml/qml/qqmlvaluetype.cpp b/src/qml/qml/qqmlvaluetype.cpp
index 4b9653d8e9..7446322019 100644
--- a/src/qml/qml/qqmlvaluetype.cpp
+++ b/src/qml/qml/qqmlvaluetype.cpp
@@ -125,7 +125,7 @@ const QQmlValueType *QQmlGadgetPtrWrapper::valueType() const
return static_cast<const QQmlValueType *>(d->metaObject);
}
-QAbstractDynamicMetaObject *QQmlValueType::toDynamicMetaObject(QObject *)
+QMetaObject *QQmlValueType::toDynamicMetaObject(QObject *)
{
return this;
}
diff --git a/src/qml/qml/qqmlvaluetype_p.h b/src/qml/qml/qqmlvaluetype_p.h
index c006fc7532..b1e985ba7a 100644
--- a/src/qml/qml/qqmlvaluetype_p.h
+++ b/src/qml/qml/qqmlvaluetype_p.h
@@ -83,7 +83,7 @@ public:
int metaTypeId() const { return metaType.id(); }
// ---- dynamic meta object data interface
- QAbstractDynamicMetaObject *toDynamicMetaObject(QObject *) override;
+ QMetaObject *toDynamicMetaObject(QObject *) override;
void objectDestroyed(QObject *) override;
int metaCall(QObject *obj, QMetaObject::Call type, int _id, void **argv) override;
// ----
diff --git a/src/qml/qml/qqmlvmemetaobject.cpp b/src/qml/qml/qqmlvmemetaobject.cpp
index 5a11e40203..99663d9daa 100644
--- a/src/qml/qml/qqmlvmemetaobject.cpp
+++ b/src/qml/qml/qqmlvmemetaobject.cpp
@@ -398,7 +398,7 @@ bool QQmlInterceptorMetaObject::intercept(QMetaObject::Call c, int id, void **a)
}
-QAbstractDynamicMetaObject *QQmlInterceptorMetaObject::toDynamicMetaObject(QObject *o)
+QMetaObject *QQmlInterceptorMetaObject::toDynamicMetaObject(QObject *o)
{
if (!hasAssignedMetaObjectData) {
*static_cast<QMetaObject *>(this) = *cache->createMetaObject();
diff --git a/src/qml/qml/qqmlvmemetaobject_p.h b/src/qml/qml/qqmlvmemetaobject_p.h
index 10fa0d89a2..41b9a42b51 100644
--- a/src/qml/qml/qqmlvmemetaobject_p.h
+++ b/src/qml/qml/qqmlvmemetaobject_p.h
@@ -99,7 +99,7 @@ public:
static QQmlInterceptorMetaObject *get(QObject *obj);
- QAbstractDynamicMetaObject *toDynamicMetaObject(QObject *o) override;
+ QMetaObject *toDynamicMetaObject(QObject *o) override;
// Used by auto-tests for inspection
QQmlPropertyCache *propertyCache() const { return cache.data(); }
diff --git a/src/qmlmodels/qqmllistmodel.cpp b/src/qmlmodels/qqmllistmodel.cpp
index f6a4e0768b..bcda4e6598 100644
--- a/src/qmlmodels/qqmllistmodel.cpp
+++ b/src/qmlmodels/qqmllistmodel.cpp
@@ -1658,7 +1658,7 @@ ModelNodeMetaObject::~ModelNodeMetaObject()
{
}
-QAbstractDynamicMetaObject *ModelNodeMetaObject::toDynamicMetaObject(QObject *object)
+QMetaObject *ModelNodeMetaObject::toDynamicMetaObject(QObject *object)
{
if (!m_initialized) {
m_initialized = true;
diff --git a/src/qmlmodels/qqmllistmodel_p_p.h b/src/qmlmodels/qqmllistmodel_p_p.h
index 6c40934c04..e751918cd4 100644
--- a/src/qmlmodels/qqmllistmodel_p_p.h
+++ b/src/qmlmodels/qqmllistmodel_p_p.h
@@ -127,7 +127,7 @@ public:
ModelNodeMetaObject(QObject *object, QQmlListModel *model, int elementIndex);
~ModelNodeMetaObject();
- QAbstractDynamicMetaObject *toDynamicMetaObject(QObject *object) override;
+ QMetaObject *toDynamicMetaObject(QObject *object) override;
static ModelNodeMetaObject *get(QObject *obj);
diff --git a/src/quick/designer/qqmldesignermetaobject.cpp b/src/quick/designer/qqmldesignermetaobject.cpp
index 0264b751f1..b005976387 100644
--- a/src/quick/designer/qqmldesignermetaobject.cpp
+++ b/src/quick/designer/qqmldesignermetaobject.cpp
@@ -181,10 +181,10 @@ QVariant QQmlDesignerMetaObject::propertyWriteValue(int, const QVariant &value)
return value;
}
-const QAbstractDynamicMetaObject *QQmlDesignerMetaObject::dynamicMetaObjectParent() const
+QDynamicMetaObjectData *QQmlDesignerMetaObject::dynamicMetaObjectParent() const
{
if (QQmlVMEMetaObject::parent.isT1())
- return QQmlVMEMetaObject::parent.asT1()->toDynamicMetaObject(QQmlVMEMetaObject::object);
+ return QQmlVMEMetaObject::parent.asT1();
else
return nullptr;
}
@@ -222,9 +222,9 @@ int QQmlDesignerMetaObject::openMetaCall(QObject *o, QMetaObject::Call call, int
}
return -1;
} else {
- QAbstractDynamicMetaObject *directParent = parent();
- if (directParent)
- return directParent->metaCall(o, call, id, a);
+ QDynamicMetaObjectData *dynamicParent = dynamicMetaObjectParent();
+ if (dynamicParent)
+ return dynamicParent->metaCall(o, call, id, a);
else
return myObject()->qt_metacall(call, id, a);
}
@@ -264,12 +264,14 @@ int QQmlDesignerMetaObject::metaCall(QObject *o, QMetaObject::Call call, int id,
oldValue = propertyById.read(myObject());
}
- QAbstractDynamicMetaObject *directParent = parent();
- if (directParent && id < directParent->propertyOffset()) {
- metaCallReturnValue = directParent->metaCall(o, call, id, a);
- } else {
+ QDynamicMetaObjectData *dynamicParent = dynamicMetaObjectParent();
+ const QMetaObject *staticParent = dynamicParent
+ ? dynamicParent->toDynamicMetaObject(QQmlVMEMetaObject::object)
+ : nullptr;
+ if (staticParent && id < staticParent->propertyOffset())
+ metaCallReturnValue = dynamicParent->metaCall(o, call, id, a);
+ else
openMetaCall(o, call, id, a);
- }
if (call == QMetaObject::WriteProperty
diff --git a/src/quick/designer/qqmldesignermetaobject_p.h b/src/quick/designer/qqmldesignermetaobject_p.h
index 3c02c0d3f5..cf91523ca3 100644
--- a/src/quick/designer/qqmldesignermetaobject_p.h
+++ b/src/quick/designer/qqmldesignermetaobject_p.h
@@ -80,9 +80,8 @@ protected:
QVariant propertyWriteValue(int, const QVariant &);
QObject *myObject() const { return QQmlVMEMetaObject::object; }
- QAbstractDynamicMetaObject *parent() const { return const_cast<QAbstractDynamicMetaObject *>(dynamicMetaObjectParent()); }
- const QAbstractDynamicMetaObject *dynamicMetaObjectParent() const;
+ QDynamicMetaObjectData *dynamicMetaObjectParent() const;
const QMetaObject *metaObjectParent() const;