diff options
-rw-r--r-- | src/quicktemplates2/qquickpopup.cpp | 2 | ||||
-rw-r--r-- | src/quicktemplates2/qquickpopuppositioner.cpp | 2 |
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); } |