diff --git a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp index f0df1560c101ad90e6fb38c45e5110033fda4feb..e52ca995d7c54c2b4bedc6a6782633ab25830245 100644 --- a/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/objectnodeinstance.cpp @@ -123,13 +123,15 @@ void ObjectNodeInstance::destroy() { if (deleteHeldInstance()) { // Remove from old property - if (object() && modelNode().isValid() && modelNode().parentProperty().isValid()) { + if (object()) { setId(QString()); - NodeAbstractProperty parentProperty = modelNode().parentProperty(); - ModelNode parentNode = parentProperty.parentModelNode(); - if (parentNode.isValid() && nodeInstanceView()->hasInstanceForNode(parentNode)) { - NodeInstance parentInstance = nodeInstanceView()->instanceForNode(parentNode); - reparent(parentInstance, parentProperty.name(), NodeInstance() , QString()); + if (modelNode().isValid() && modelNode().parentProperty().isValid()) { + NodeAbstractProperty parentProperty = modelNode().parentProperty(); + ModelNode parentNode = parentProperty.parentModelNode(); + if (parentNode.isValid() && nodeInstanceView()->hasInstanceForNode(parentNode)) { + NodeInstance parentInstance = nodeInstanceView()->instanceForNode(parentNode); + reparent(parentInstance, parentProperty.name(), NodeInstance() , QString()); + } } }