diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-11-02 12:15:40 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-11-02 14:00:29 +0100 |
commit | 50ba4ffdf48461d38f4dd2137a0fbbc916c9eb0a (patch) | |
tree | 6caac8e7a67d27f0a9025523ec6e6a418196740a /src/qml/qml/qqml.h | |
parent | e826636a0bebd0d73e6c17038b24ee2a42d92ead (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.h | 16 |
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); } }; |