diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index c84323d9460..b6c0a893952 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -378,6 +378,12 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c { QQmlProperty property(newParent, newParentProperty, context()); + QQuickItem *quickItem = qobject_cast(object); + + //The engine sets the QObject before it does reparent + if (object && !quickItem) + object->setParent(newParent); + if (isList(property)) { QQmlListReference list = qvariant_cast(property.read()); @@ -391,8 +397,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);