diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 3720bdc90a2..5247f1f3836 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -267,13 +267,13 @@ static bool isList(const QQmlProperty &property) static bool isQJSValue(const QQmlProperty &property) { - return !strcmp(property.propertyTypeName(), "QJSValue"); + return property.isValid() && !strcmp(property.propertyTypeName(), "QJSValue"); } static bool isObject(const QQmlProperty &property) { /* QVariant and QJSValue can also store QObjects. Lets trust our model. */ - return (property.propertyTypeCategory() == QQmlProperty::Object + return property.isValid() && (property.propertyTypeCategory() == QQmlProperty::Object || !strcmp(property.propertyTypeName(), "QVariant") || isQJSValue(property)); }