From 9763e9e325624f5fce8a7566ff209ea4b23550f4 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Apr 2013 12:40:01 +0200 Subject: [PATCH] QmlDesigner.Instances: always set the QObject parent. We follow the QmlEngine/VME and always set the QObject parent before reparenting into list properties. Also we set the QObject parent for all objects. See qqmlvme.cpp line 622 QQml_setParent_noEvent(o, parent); Change-Id: If889e6cc07e99ea443b80de13c4be9dce6c2ceee Reviewed-by: Marco Bubke --- .../qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index 756e73493a3..b4eeffdb256 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -376,6 +376,9 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c { QQmlProperty property(newParent, newParentProperty, context()); + if (object) + object->setParent(newParent); + if (isList(property)) { QQmlListReference list = qvariant_cast(property.read()); @@ -389,11 +392,6 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c property.write(objectToVariant(object)); } - QQuickItem *quickItem = qobject_cast(object); - - if (object && !(quickItem && quickItem->parentItem())) - object->setParent(newParent); - Q_ASSERT(objectToVariant(object).isValid()); }