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