From 8910601b784032f61a9ef09c866bdd463ab21466 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Mon, 31 May 2021 16:06:30 +0200 Subject: [PATCH] QmlDesigner: Allow creation without version number Task-number: QDS-4403 Change-Id: I952de9a2a6aa345b041f890fb2d364850c25e492 Reviewed-by: Miikka Heikkinen --- .../qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 2 ++ .../qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 1c5fb24a680..7b82093fbfa 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -684,6 +684,8 @@ QObject *ObjectNodeInstance::createPrimitive(const QString &typeName, int majorN object = QmlPrivateGate::createComponent(mockHash.value(typeName), context); else if (majorNumber != -1 && minorNumber != -1) object = QmlPrivateGate::createPrimitive(polishTypeName, majorNumber, minorNumber, context); + else + object = QmlPrivateGate::createPrimitive(polishTypeName, 0, 0, context); /* Let's try to create the primitive from source, since with incomplete meta info this might be a pure * QML type. This is the case for example if a C++ type is mocked up with a QML file. diff --git a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp index 7e5af01944c..2f775d05346 100644 --- a/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp +++ b/share/qtcreator/qml/qmlpuppet/qmlprivategate/qmlprivategate_56.cpp @@ -175,7 +175,11 @@ void registerNodeInstanceMetaObject(QObject *object, QQmlEngine *engine) QObject *createPrimitive(const QString &typeName, int majorNumber, int minorNumber, QQmlContext *context) { #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) - return QQuickDesignerSupportItems::createPrimitive(typeName, QTypeRevision::fromVersion(majorNumber, minorNumber), context); + + QTypeRevision revision = QTypeRevision::zero(); + if (majorNumber > 0) + revision = QTypeRevision::fromVersion(majorNumber, minorNumber); + return QQuickDesignerSupportItems::createPrimitive(typeName, revision, context); #else return QQuickDesignerSupportItems::createPrimitive(typeName, majorNumber, minorNumber, context); #endif