aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlmetatype.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2020-12-10 16:13:46 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2020-12-11 15:35:31 +0100
commit4a73503ab273171348302990972e9df52cb8da43 (patch)
treefd2b61d431c9d120b8bbb48d16b5d1355fac037b /src/qml/qml/qqmlmetatype.cpp
parentc64b79f89ebc117fa0a422c2da232e2420915b33 (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.cpp14
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