aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickstackview_p.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/templates/qquickstackview_p.cpp')
-rw-r--r--src/templates/qquickstackview_p.cpp24
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);
+ }
}
}