aboutsummaryrefslogtreecommitdiffstats
path: root/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp')
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
index 87e0cc4d71..5991e2b28e 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
@@ -768,6 +768,9 @@ QObject *ObjectNodeInstance::createComponent(const QString &componentPath, QQmlC
qWarning() << error;
}
+ if (object)
+ object->setProperty("__designer_url__", QUrl::fromLocalFile(componentPath));
+
return object;
}
@@ -776,7 +779,9 @@ QObject *ObjectNodeInstance::createComponent(const QUrl &componentUrl, QQmlConte
return QmlPrivateGate::createComponent(componentUrl, context);
}
-QObject *ObjectNodeInstance::createCustomParserObject(const QString &nodeSource, const QByteArray &importCode, QQmlContext *context)
+QObject *ObjectNodeInstance::createCustomParserObject(const QString &nodeSource,
+ const QByteArray &importCode,
+ QQmlContext *context)
{
QmlPrivateGate::ComponentCompleteDisabler disableComponentComplete;
Q_UNUSED(disableComponentComplete)
@@ -787,9 +792,11 @@ QObject *ObjectNodeInstance::createCustomParserObject(const QString &nodeSource,
data.prepend(importCode);
component.setData(data, context->baseUrl().resolved(QUrl("createCustomParserObject.qml")));
QObject *object = component.beginCreate(context);
- QmlPrivateGate::tweakObjects(object);
- component.completeCreate();
- QQmlEngine::setObjectOwnership(object, QQmlEngine::CppOwnership);
+ if (object) {
+ QmlPrivateGate::tweakObjects(object);
+ component.completeCreate();
+ QQmlEngine::setObjectOwnership(object, QQmlEngine::CppOwnership);
+ }
if (component.isError()) {
qWarning() << "Error in:" << Q_FUNC_INFO << component.url().toString();