summaryrefslogtreecommitdiffstats
path: root/src/interfaceframework/qtinterfaceframeworkmodule.cpp
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@qt.io>2022-01-19 15:37:02 +0100
committerDominik Holland <dominik.holland@qt.io>2022-01-27 12:47:55 +0100
commitce3f6b472fdc95878c4b64877639ab3783fed09f (patch)
tree994028a662cae4b7d003a4aed6e18bdf45b88306 /src/interfaceframework/qtinterfaceframeworkmodule.cpp
parentbf1ec1c4637c22b2a8ba6b524d96045d6aba1a91 (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.cpp6
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>();
}