diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-10-28 16:48:53 +0100 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-11-02 14:00:17 +0100 |
commit | 6f968781c4c8a278a7743b0904fb2bdf4c6ddf1a (patch) | |
tree | 0d5944f74c10bf3223cb374234c7f6d78706714f /src/qml/qml/qqmlproxymetaobject.cpp | |
parent | 2b99430671e37427a990973df37e62ad8cdebe8b (diff) |
QML: Allow namespaces as extensions to types
This way we can access the enums of namespaces as properties of the
primary type. This is achieved by:
1. Making enums of extended types available in the base type
2. Allowing the extension to be specified as plain metaObject rather
than as type name.
3. Refraining from creating the extension if the create function does
not exist.
The goal of this is to declare the Qt namespace in a civilized way, but
will also help with cleaning up the QtQuick value types and their enums.
Change-Id: I13399741d30ce38d1bff753cfa1b11e72ccfbf6a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlproxymetaobject.cpp')
-rw-r--r-- | src/qml/qml/qqmlproxymetaobject.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlproxymetaobject.cpp b/src/qml/qml/qqmlproxymetaobject.cpp index e1500f70fb..c5cb2ec059 100644 --- a/src/qml/qml/qqmlproxymetaobject.cpp +++ b/src/qml/qml/qqmlproxymetaobject.cpp @@ -83,6 +83,8 @@ int QQmlProxyMetaObject::metaCall(QObject *o, QMetaObject::Call c, int id, void } if (!proxies[ii]) { + if (!data.createFunc) + continue; QObject *proxy = data.createFunc(object); const QMetaObject *metaObject = proxy->metaObject(); proxies[ii] = proxy; |