diff options
Diffstat (limited to 'src/qml/qml/qqmltypewrapper.cpp')
-rw-r--r-- | src/qml/qml/qqmltypewrapper.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/qml/qml/qqmltypewrapper.cpp b/src/qml/qml/qqmltypewrapper.cpp index 5c0806e57a..07a9d998aa 100644 --- a/src/qml/qml/qqmltypewrapper.cpp +++ b/src/qml/qml/qqmltypewrapper.cpp @@ -379,11 +379,13 @@ static ReturnedValue instanceOfQObject(const QV4::QQmlTypeWrapper *typeWrapper, QQmlEnginePrivate *qenginepriv = QQmlEnginePrivate::get(engine->qmlEngine()); QQmlRefPointer<QQmlTypeData> td = qenginepriv->typeLoader.getType(typeWrapper->d()->type().sourceUrl()); if (ExecutableCompilationUnit *cu = td->compilationUnit()) - myQmlType = QQmlMetaType::metaObjectForType(cu->typeIds.id); + myQmlType = QQmlMetaType::metaObjectForType(cu->qmlType.typeId()); else return Encode(false); // It seems myQmlType has some errors, so we could not compile it. } else { myQmlType = QQmlMetaType::metaObjectForType(myTypeId); + if (myQmlType.isNull()) + return Encode(false); } const QMetaObject *theirType = wrapperObject->metaObject(); |