21 auto qmlTypePrivate =
new QQmlTypePrivate(data.regType);
25 QObject::connect(object, &QObject::destroyed, object,
26 [qmlTypePrivate](QObject *) { qmlTypePrivate->release(); },
27 Qt::DirectConnection);
30 Q_ASSERT(data.regType == QQmlType::CppType);
31 qmlTypePrivate->extraData.cppTypeData->allocationSize = data
.allocationSize;
32 qmlTypePrivate->extraData.cppTypeData->newFunc =
nullptr;
33 qmlTypePrivate->extraData.cppTypeData->userdata =
nullptr;
34 qmlTypePrivate->extraData.cppTypeData->noCreationReason =
35 QStringLiteral(
"Qmltc-compiled type is not creatable via QQmlType");
36 qmlTypePrivate->extraData.cppTypeData->createValueTypeFunc =
nullptr;
37 qmlTypePrivate->extraData.cppTypeData->parserStatusCast = -1;
38 qmlTypePrivate->extraData.cppTypeData->extFunc =
nullptr;
39 qmlTypePrivate->extraData.cppTypeData->extMetaObject =
nullptr;
40 qmlTypePrivate->extraData.cppTypeData->customParser =
nullptr;
41 qmlTypePrivate->extraData.cppTypeData->attachedPropertiesFunc =
nullptr;
42 qmlTypePrivate->extraData.cppTypeData->attachedPropertiesType =
nullptr;
43 qmlTypePrivate->extraData.cppTypeData->propertyValueSourceCast = -1;
44 qmlTypePrivate->extraData.cppTypeData->propertyValueInterceptorCast = -1;
45 qmlTypePrivate->extraData.cppTypeData->finalizerCast = -1;
46 qmlTypePrivate->extraData.cppTypeData->registerEnumClassesUnscoped =
false;
47 qmlTypePrivate->extraData.cppTypeData->registerEnumsFromRelatedTypes =
false;
49 qmlTypePrivate->baseMetaObject = data.metaObject;
51 QQmlType qmlType(qmlTypePrivate);
52 Q_ASSERT(qmlType.isValid());
54 QObjectPrivate *op = QObjectPrivate::get(object);
57 delete op->metaObject;
58 op->metaObject =
nullptr;
61 qmlType.createProxy(object);