diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-03-05 13:20:05 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2021-03-19 21:03:34 +0100 |
commit | 2afb055609dedb79f232b32f704cce33ffd5778d (patch) | |
tree | f278287299f374bc6390b034dcac984dad4b673e /src/qml/qml/qqmllist.cpp | |
parent | 0c066168bbbd230abe875727b2000d6828b03f23 (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.cpp | 6 |
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 }; |