diff options
| author | Dominik Holland <dominik.holland@qt.io> | 2022-01-19 15:37:02 +0100 |
|---|---|---|
| committer | Dominik Holland <dominik.holland@qt.io> | 2022-01-27 12:47:55 +0100 |
| commit | ce3f6b472fdc95878c4b64877639ab3783fed09f (patch) | |
| tree | 994028a662cae4b7d003a4aed6e18bdf45b88306 /src/interfaceframework/qtinterfaceframeworkmodule.cpp | |
| parent | bf1ec1c4637c22b2a8ba6b524d96045d6aba1a91 (diff) | |
Improve the type registration to be more reliable
All core classes will register the needed core MetaTypes.
In a similar way the autogenerated code for a module will make sure
the new MetaTypes for that module are registered when the first class
is used.
This is needed as a preparation for the new qml type registration.
Fixes: QTBUG-99090
Pick-to: 6.3
Change-Id: I45f18212af35beaef1382d92fed2d1062f18f468
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Diffstat (limited to 'src/interfaceframework/qtinterfaceframeworkmodule.cpp')
| -rw-r--r-- | src/interfaceframework/qtinterfaceframeworkmodule.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/interfaceframework/qtinterfaceframeworkmodule.cpp b/src/interfaceframework/qtinterfaceframeworkmodule.cpp index 6dc6fdd8..ad2d043b 100644 --- a/src/interfaceframework/qtinterfaceframeworkmodule.cpp +++ b/src/interfaceframework/qtinterfaceframeworkmodule.cpp @@ -147,9 +147,15 @@ QtInterfaceFrameworkModule::QtInterfaceFrameworkModule(QObject *parent) */ void QtInterfaceFrameworkModule::registerTypes() { + static bool once = false; + if (once) + return; + once = true; + qRegisterMetaType<QIfServiceObject*>(); qRegisterMetaType<QList<QIfServiceObject*>>("QList<QIfServiceObject*>"); qRegisterMetaType<QtInterfaceFrameworkModule::ModelCapabilities>(); + qifRegisterPendingReplyBasicTypes(); qIfRegisterPendingReplyType<QtInterfaceFrameworkModule::ModelCapabilities>(); } |
