diff --git a/declarativeimports/core/dialog.cpp b/declarativeimports/core/dialog.cpp index 71ea7923e..3e1ee6f8e 100644 --- a/declarativeimports/core/dialog.cpp +++ b/declarativeimports/core/dialog.cpp @@ -83,7 +83,12 @@ QGraphicsObject *DialogProxy::mainItem() const void DialogProxy::setMainItem(QGraphicsObject *mainItem) { if (m_mainItem.data() != mainItem) { + if (m_mainItem) { + m_mainItem.data()->setParent(mainItem->parent()); + } m_mainItem = mainItem; + mainItem->setParentItem(0); + mainItem->setParent(this); //if this is called in Compenent.onCompleted we have to wait a loop the item is added to a scene QTimer::singleShot(0, this, SLOT(syncMainItem()));