diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2020-09-01 16:38:23 +0300 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-09-01 13:47:53 +0000 |
commit | 893d5901a6e800e7d9886af9a56939cd2f34de24 (patch) | |
tree | 97dff6f1d4561d618ac28ac7b3ad5243d4e9485e /share | |
parent | 4473769bc466d62d5ac9bb26e813c513513ccfb2 (diff) |
QmlPuppet: Fall back to primitive creation if component creation fails
This ensures components defined in .qml files get loaded properly.
Change-Id: I070132ab5ad58b2531f27f623f218e0ee3565c5b
Fixes: QDS-2697
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'share')
-rw-r--r-- | share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp index 96f4c30ba3..69c854f3e9 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/servernodeinstance.cpp @@ -231,9 +231,12 @@ ServerNodeInstance ServerNodeInstance::create(NodeInstanceServer *nodeInstanceSe } else if (!instanceContainer.componentPath().isEmpty()) { object = Internal::ObjectNodeInstance::createComponent(instanceContainer.componentPath(), nodeInstanceServer->context()); if (object == nullptr) { - const QString errors = getErrorString(nodeInstanceServer->engine(), instanceContainer.componentPath()); - const QString message = QString("Component with path %1 could not be created.\n\n").arg(instanceContainer.componentPath()); - nodeInstanceServer->sendDebugOutput(DebugOutputCommand::ErrorType, message + errors, instanceContainer.instanceId()); + object = Internal::ObjectNodeInstance::createPrimitive(QString::fromUtf8(instanceContainer.type()), instanceContainer.majorNumber(), instanceContainer.minorNumber(), nodeInstanceServer->context()); + if (object == nullptr) { + const QString errors = getErrorString(nodeInstanceServer->engine(), instanceContainer.componentPath()); + const QString message = QString("Component with path %1 could not be created.\n\n").arg(instanceContainer.componentPath()); + nodeInstanceServer->sendDebugOutput(DebugOutputCommand::ErrorType, message + errors, instanceContainer.instanceId()); + } } } else { object = Internal::ObjectNodeInstance::createPrimitive(QString::fromUtf8(instanceContainer.type()), instanceContainer.majorNumber(), instanceContainer.minorNumber(), nodeInstanceServer->context()); |