aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmllist.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2021-03-05 13:20:05 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2021-03-19 21:03:34 +0100
commit2afb055609dedb79f232b32f704cce33ffd5778d (patch)
treef278287299f374bc6390b034dcac984dad4b673e /src/qml/qml/qqmllist.cpp
parent0c066168bbbd230abe875727b2000d6828b03f23 (diff)
QQmlMetaType: Remove qmlLists member
Instead of using a hashmap which maps a QML lists metatype to its list element's metatype, we can just store a pointer in the list metatype to the element metatype. Moreover, listType now returns a metatype. This is a preparation for converting enginePriv->rawMetaObjectForType(typeId) to metaType.metaObject() calls once we can actually retrieve the metaobject from QML metatypes. The QML metatype interface classes are moved into a header, so that Qt for Python can use the same classes. This does not affect types registered from C++, as those use a different mechanism. Task-number: QTBUG-88766 Task-number: QTBUG-82931 Task-number: QTBUG-87134 Change-Id: I330c2bbe4ac92072a333c001750f7504b56df478 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Diffstat (limited to 'src/qml/qml/qqmllist.cpp')
-rw-r--r--src/qml/qml/qqmllist.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/qml/qml/qqmllist.cpp b/src/qml/qml/qqmllist.cpp
index 0aecc51e85..3d15eba4ca 100644
--- a/src/qml/qml/qqmllist.cpp
+++ b/src/qml/qml/qqmllist.cpp
@@ -59,7 +59,7 @@ QQmlListReferencePrivate::QQmlListReferencePrivate()
{
}
-QQmlListReference QQmlListReferencePrivate::init(const QQmlListProperty<QObject> &prop, int propType, QQmlEngine *engine)
+QQmlListReference QQmlListReferencePrivate::init(const QQmlListProperty<QObject> &prop, QMetaType propType, QQmlEngine *engine)
{
QQmlListReference rv;
@@ -145,7 +145,7 @@ QQmlListReference::QQmlListReference(const QVariant &variant, QQmlEngine *engine
return;
d = new QQmlListReferencePrivate;
- d->propertyType = t.id();
+ d->propertyType = t;
d->setEngine(engine);
d->property.~QQmlListProperty();
@@ -177,7 +177,7 @@ QQmlListReference::QQmlListReference(QObject *object, const char *property, QQml
d = new QQmlListReferencePrivate;
d->object = object;
- d->propertyType = data->propType().id();
+ d->propertyType = data->propType();
d->setEngine(engine);
void *args[] = { &d->property, nullptr };