diff --git a/src/tools/qml2puppet/qml2puppet/instances/nodeinstanceserver.cpp b/src/tools/qml2puppet/qml2puppet/instances/nodeinstanceserver.cpp index f3227e386cc..0f7133b1ff5 100644 --- a/src/tools/qml2puppet/qml2puppet/instances/nodeinstanceserver.cpp +++ b/src/tools/qml2puppet/qml2puppet/instances/nodeinstanceserver.cpp @@ -1187,8 +1187,9 @@ InformationChangedCommand NodeInstanceServer::createAllInformationChangedCommand static bool supportedVariantType(int type) { - return type < int(QVariant::UserType) && type != QMetaType::QObjectStar - && type != QMetaType::QModelIndex && type != QMetaType::VoidStar; + return (type < int(QVariant::UserType) && type != QMetaType::QObjectStar + && type != QMetaType::QModelIndex && type != QMetaType::VoidStar) + || type == QMetaType::fromType().id(); } ValuesChangedCommand NodeInstanceServer::createValuesChangedCommand(const QList &instanceList) const diff --git a/src/tools/qml2puppet/qml2puppet/instances/objectnodeinstance.cpp b/src/tools/qml2puppet/qml2puppet/instances/objectnodeinstance.cpp index 453a30395f1..2ad26c42866 100644 --- a/src/tools/qml2puppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/src/tools/qml2puppet/qml2puppet/instances/objectnodeinstance.cpp @@ -619,7 +619,8 @@ QVariant ObjectNodeInstance::property(const PropertyName &name) const QQmlProperty property(object(), QString::fromUtf8(name), context()); if (property.property().isEnumType()) { QVariant value = property.read(); - return property.property().enumerator().valueToKey(value.toInt()); + QMetaEnum me = property.property().enumerator(); + return QVariant::fromValue(Enumeration(me.scope(), me.valueToKey(value.toInt()))); } if (property.propertyType() == QVariant::Url) {