diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-12-10 16:13:46 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-12-11 15:35:31 +0100 |
commit | 4a73503ab273171348302990972e9df52cb8da43 (patch) | |
tree | fd2b61d431c9d120b8bbb48d16b5d1355fac037b /src/qml/qml/qqmlmetatype.cpp | |
parent | c64b79f89ebc117fa0a422c2da232e2420915b33 (diff) |
QQmlMetaType: Get rid of objects
Use the information from the metatype instead.
Task-number: QTBUG-88765
Task-number: QTBUG-88766
Change-Id: Ie0a748861388e8c36f5f607ccd5aba4d6049b930
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlmetatype.cpp')
-rw-r--r-- | src/qml/qml/qqmlmetatype.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp index f3035209ce..979d7aaf45 100644 --- a/src/qml/qml/qqmlmetatype.cpp +++ b/src/qml/qml/qqmlmetatype.cpp @@ -473,10 +473,6 @@ void addTypeToData(QQmlTypePrivate *type, QQmlMetaTypeData *data) if (type->typeId.isValid()) { data->idToType.insert(type->typeId.id(), type); - if (type->typeId.flags() & QMetaType::PointerToQObject - && type->regType != QQmlType::RegistrationType::SequentialContainerType) { - data->objects.insert(type->typeId.id()); - } } if (type->listId.isValid()) { @@ -1102,8 +1098,8 @@ bool QQmlMetaType::isQObject(int userType) { if (userType == QMetaType::QObjectStar) return true; - QQmlMetaTypeDataPtr data; - return data->objects.contains(userType); + QMetaType type (userType); + return type.flags().testFlag(QMetaType::PointerToQObject); } /* @@ -1190,11 +1186,13 @@ QQmlMetaType::TypeCategory QQmlMetaType::typeCategory(int userType) if (userType == QMetaType::QObjectStar) return Object; + QMetaType type(userType); + if (type.flags().testFlag(QMetaType::PointerToQObject)) + return Object; + QQmlMetaTypeDataPtr data; if (data->qmlLists.contains(userType)) return List; - else if (data->objects.contains(userType)) - return Object; else if (data->lists.contains(userType)) return List; else |