diff options
-rw-r--r-- | src/quicktemplates2/qquickpopuppositioner.cpp | 17 | ||||
-rw-r--r-- | src/quicktemplates2/qquickpopuppositioner_p_p.h | 2 |
2 files changed, 1 insertions, 18 deletions
diff --git a/src/quicktemplates2/qquickpopuppositioner.cpp b/src/quicktemplates2/qquickpopuppositioner.cpp index f9d12865..3f1e5d62 100644 --- a/src/quicktemplates2/qquickpopuppositioner.cpp +++ b/src/quicktemplates2/qquickpopuppositioner.cpp @@ -102,7 +102,7 @@ void QQuickPopupPositioner::itemParentChanged(QQuickItem *, QQuickItem *parent) void QQuickPopupPositioner::itemChildRemoved(QQuickItem *item, QQuickItem *child) { - if (isAncestor(child)) + if (child->isAncestorOf(m_parentItem)) removeAncestorListeners(item); } @@ -130,19 +130,4 @@ void QQuickPopupPositioner::addAncestorListeners(QQuickItem *item) } } -// TODO: use QQuickItem::isAncestorOf() in dev/5.7 -bool QQuickPopupPositioner::isAncestor(QQuickItem *item) const -{ - if (!m_parentItem) - return false; - - QQuickItem *parent = m_parentItem; - while (parent) { - if (parent == item) - return true; - parent = parent->parentItem(); - } - return false; -} - QT_END_NAMESPACE diff --git a/src/quicktemplates2/qquickpopuppositioner_p_p.h b/src/quicktemplates2/qquickpopuppositioner_p_p.h index 0a84b324..c380eed5 100644 --- a/src/quicktemplates2/qquickpopuppositioner_p_p.h +++ b/src/quicktemplates2/qquickpopuppositioner_p_p.h @@ -74,8 +74,6 @@ private: void removeAncestorListeners(QQuickItem *item); void addAncestorListeners(QQuickItem *item); - bool isAncestor(QQuickItem *item) const; - QQuickItem *m_parentItem; QQuickPopupPrivate *m_popup; }; |