aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quicktemplates2/qquickpopuppositioner.cpp17
-rw-r--r--src/quicktemplates2/qquickpopuppositioner_p_p.h2
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;
};