aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmlmetatype.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2022-09-13 16:13:21 +0200
committerUlf Hermann <ulf.hermann@qt.io>2022-09-14 13:50:46 +0200
commit8f00b65d753db647b49f551319b04819e9e4e882 (patch)
tree151d8372609c9d931650b26c61cb0b541e03f055 /src/qml/qml/qqmlmetatype.cpp
parent584f674811f87218dedd95be19525061e378f191 (diff)
Qml: use an enum for the registration struct versions
This way we can see more easily what we're checking for. Change-Id: I44b16e8b71ec967b736a4fe5fe0fcbdf28692b90 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlmetatype.cpp')
-rw-r--r--src/qml/qml/qqmlmetatype.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index e91a639d51..e3ff358c1d 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -145,7 +145,9 @@ static QQmlTypePrivate *createQQmlType(QQmlMetaTypeData *data, const QString &el
d->extraData.cd->parserStatusCast = type.parserStatusCast;
d->extraData.cd->propertyValueSourceCast = type.valueSourceCast;
d->extraData.cd->propertyValueInterceptorCast = type.valueInterceptorCast;
- d->extraData.cd->finalizerCast = (type.structVersion > 0) ? type.finalizerCast : -1;
+ d->extraData.cd->finalizerCast = type.has(QQmlPrivate::RegisterType::FinalizerCast)
+ ? type.finalizerCast
+ : -1;
d->extraData.cd->extFunc = type.extensionObjectCreate;
d->extraData.cd->customParser = reinterpret_cast<QQmlCustomParser *>(type.customParser);
d->extraData.cd->registerEnumClassesUnscoped = true;
@@ -459,7 +461,7 @@ static void addTypeToData(QQmlTypePrivate *type, QQmlMetaTypeData *data)
QQmlType QQmlMetaType::registerType(const QQmlPrivate::RegisterType &type)
{
- if (type.structVersion > 1)
+ if (type.structVersion > int(QQmlPrivate::RegisterType::CurrentVersion))
qFatal("qmlRegisterType(): Cannot mix incompatible QML versions.");
QQmlMetaTypeDataPtr data;