diff options
Diffstat (limited to 'src/templates/qquickstackview_p.cpp')
-rw-r--r-- | src/templates/qquickstackview_p.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/src/templates/qquickstackview_p.cpp b/src/templates/qquickstackview_p.cpp index a34b62e9..5d967a0e 100644 --- a/src/templates/qquickstackview_p.cpp +++ b/src/templates/qquickstackview_p.cpp @@ -83,18 +83,20 @@ QQuickStackElement::~QQuickStackElement() if (ownComponent) delete component; - if (ownItem && item) { - item->setParentItem(nullptr); - item->deleteLater(); - item = nullptr; - } else if (item) { - item->setVisible(false); - if (item->parentItem() != originalParent) { - item->setParentItem(originalParent); + if (item) { + if (ownItem) { + item->setParentItem(nullptr); + item->deleteLater(); + item = nullptr; } else { - QQuickStackAttached *attached = attachedStackObject(this); - if (attached) - QQuickStackAttachedPrivate::get(attached)->itemParentChanged(item, nullptr); + item->setVisible(false); + if (item->parentItem() != originalParent) { + item->setParentItem(originalParent); + } else { + QQuickStackAttached *attached = attachedStackObject(this); + if (attached) + QQuickStackAttachedPrivate::get(attached)->itemParentChanged(item, nullptr); + } } } |