aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2020-09-01 16:38:23 +0300
committerThomas Hartmann <thomas.hartmann@qt.io>2020-09-01 13:47:53 +0000
commit893d5901a6e800e7d9886af9a56939cd2f34de24 (patch)
tree97dff6f1d4561d618ac28ac7b3ad5243d4e9485e /share
parent4473769bc466d62d5ac9bb26e813c513513ccfb2 (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.cpp9
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());