aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlmetatype.cpp
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2020-12-10 16:38:16 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2020-12-11 15:35:31 +0100
commite590ca1694902a33001d9cbb6e2ec2b038f23070 (patch)
treeb01d932121f5463740147724b6e50b0f8a2966c7 /src/qml/qml/qqmlmetatype.cpp
parent4a73503ab273171348302990972e9df52cb8da43 (diff)
QQmlMetaType: Remove lists set
The information can be found in the metatype. Task-number: QTBUG-88766 Change-Id: I6c460e3100057498b17d9ed74d2e85b609a6ab4c 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.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index 979d7aaf45..656a5c20eb 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -379,7 +379,6 @@ QQmlType QQmlMetaType::registerInterface(const QQmlPrivate::RegisterInterface &t
data->idToType.insert(priv->listId.id(), priv);
data->interfaces.insert(type.typeId.id());
- data->lists.insert(type.listId.id());
return QQmlType(priv);
}
@@ -477,7 +476,6 @@ void addTypeToData(QQmlTypePrivate *type, QQmlMetaTypeData *data)
if (type->listId.isValid()) {
data->idToType.insert(type->listId.id(), type);
- data->lists.insert(type->listId.id());
}
if (!type->module.isEmpty()) {
@@ -1189,12 +1187,12 @@ QQmlMetaType::TypeCategory QQmlMetaType::typeCategory(int userType)
QMetaType type(userType);
if (type.flags().testFlag(QMetaType::PointerToQObject))
return Object;
+ else if (type.flags().testFlag(QMetaType::IsQmlList))
+ return List;
QQmlMetaTypeDataPtr data;
if (data->qmlLists.contains(userType))
return List;
- else if (data->lists.contains(userType))
- return List;
else
return Unknown;
}
@@ -1226,10 +1224,13 @@ const char *QQmlMetaType::interfaceIId(int userType)
bool QQmlMetaType::isList(int userType)
{
+ QMetaType type(userType);
+ if (type.flags().testFlag(QMetaType::IsQmlList))
+ return true;
QQmlMetaTypeDataPtr data;
if (data->qmlLists.contains(userType))
return true;
- return data->lists.contains(userType);
+ return false;
}
/*!