aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/quicktemplates2/qquickpopup.cpp2
-rw-r--r--src/quicktemplates2/qquickpopuppositioner.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp
index e3ab952d..a481805f 100644
--- a/src/quicktemplates2/qquickpopup.cpp
+++ b/src/quicktemplates2/qquickpopup.cpp
@@ -775,6 +775,8 @@ QQuickPopup::~QQuickPopup()
d->popupItem->ungrabShortcut();
delete d->popupItem;
d->popupItem = nullptr;
+ delete d->positioner;
+ d->positioner = nullptr;
}
/*!
diff --git a/src/quicktemplates2/qquickpopuppositioner.cpp b/src/quicktemplates2/qquickpopuppositioner.cpp
index 2b67c85e..f2d02df1 100644
--- a/src/quicktemplates2/qquickpopuppositioner.cpp
+++ b/src/quicktemplates2/qquickpopuppositioner.cpp
@@ -248,7 +248,7 @@ void QQuickPopupPositioner::itemParentChanged(QQuickItem *, QQuickItem *parent)
void QQuickPopupPositioner::itemChildRemoved(QQuickItem *item, QQuickItem *child)
{
- if (child->isAncestorOf(m_parentItem))
+ if (child == m_parentItem || child->isAncestorOf(m_parentItem))
removeAncestorListeners(item);
}