aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqml.h
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-11-02 12:15:40 +0100
committerUlf Hermann <ulf.hermann@qt.io>2020-11-02 14:00:29 +0100
commit50ba4ffdf48461d38f4dd2137a0fbbc916c9eb0a (patch)
tree6caac8e7a67d27f0a9025523ec6e6a418196740a /src/qml/qml/qqml.h
parente826636a0bebd0d73e6c17038b24ee2a42d92ead (diff)
QML: Allow singleton types to be extended
It seems we never stated that singletons can not be extended in our documentation. Therefore this is technically a bug fix and doesn't need separate documentation. Change-Id: I7877289bd5a52ecf709f80ba1975137981ec65f0 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqml.h')
-rw-r--r--src/qml/qml/qqml.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/qml/qml/qqml.h b/src/qml/qml/qqml.h
index 9118b42390..75f7ae5f06 100644
--- a/src/qml/qml/qqml.h
+++ b/src/qml/qml/qqml.h
@@ -677,7 +677,9 @@ inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versi
uri, QTypeRevision::fromVersion(versionMajor, versionMinor), typeName,
callback,
- nullptr, nullptr, QMetaType(), QTypeRevision::zero()
+ nullptr, nullptr, QMetaType(),
+ nullptr, nullptr,
+ QTypeRevision::zero()
};
return QQmlPrivate::qmlregister(QQmlPrivate::SingletonRegistration, &api);
@@ -697,6 +699,7 @@ inline int qmlRegisterSingletonType(
callback,
QQmlPrivate::StaticMetaObject<T>::staticMetaObject(),
QQmlPrivate::QmlMetaType<T>::self(),
+ nullptr, nullptr,
QTypeRevision::zero()
};
@@ -722,6 +725,7 @@ inline int qmlRegisterSingletonType(const char *uri, int versionMajor, int versi
callback,
QQmlPrivate::StaticMetaObject<T>::staticMetaObject(),
QQmlPrivate::QmlMetaType<T>::self(),
+ nullptr, nullptr,
QTypeRevision::zero()
};
@@ -808,14 +812,14 @@ struct QmlTypeAndRevisionsRegistration<T, Resolved, Extended, false, false> {
}
};
-template<class T, class Resolved>
-struct QmlTypeAndRevisionsRegistration<T, Resolved, void, true, false> {
+template<class T, class Resolved, class Extended>
+struct QmlTypeAndRevisionsRegistration<T, Resolved, Extended, true, false> {
static void registerTypeAndRevisions(const char *uri, int versionMajor, QList<int> *qmlTypeIds,
- const QMetaObject *)
+ const QMetaObject *extension)
{
- QQmlPrivate::qmlRegisterSingletonAndRevisions<Resolved>(
+ QQmlPrivate::qmlRegisterSingletonAndRevisions<Resolved, Extended>(
uri, versionMajor, QQmlPrivate::StaticMetaObject<T>::staticMetaObject(),
- qmlTypeIds);
+ qmlTypeIds, extension);
}
};