From 6857ad3e686a5e2b45d28a7f47dca3210608da50 Mon Sep 17 00:00:00 2001 From: Shawn Rutledge Date: Wed, 23 Sep 2020 16:55:10 +0200 Subject: QQuickListView: prevent mouse delivery in floating header or footer Earlier we reimplemented the contains() method of ListView to prevent dragging in an Overlay or Pullback header or footer. But in QQuickWindow (QQuickWindowPrivate::pointerTargets()), an early check prevents delivery of pointer events to an item that is clipped and for which contains() returns false, and also to its children. In that case, the header or footer no longer responds to a mouse event even if you put a MouseArea in it. Reverts 6ad3445f1e159d9beea936b66d267dcaacdc5d6c; reimplemented using similar logic in a new QQuickListViewPrivate::wantsPointerEvent() method, overriding QQuickFlickablePrivate::wantsPointerEvent(), which is now checked in event-handling code in addition to checking the interactive flag. Done-with: Wang Chuan Pick-to: 5.15 Task-number: QTBUG-74046 Fixes: QTBUG-85302 Change-Id: I9474f035d26b74ee36c0ac19e45a77de2e694bf1 Reviewed-by: Wang Chuan Reviewed-by: Mitch Curtis Reviewed-by: Richard Moe Gustavsen --- src/quick/items/qquicklistview_p.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'src/quick/items/qquicklistview_p.h') diff --git a/src/quick/items/qquicklistview_p.h b/src/quick/items/qquicklistview_p.h index be91dafaca..260e26923f 100644 --- a/src/quick/items/qquicklistview_p.h +++ b/src/quick/items/qquicklistview_p.h @@ -181,8 +181,6 @@ public: static QQuickListViewAttached *qmlAttachedProperties(QObject *); - bool contains(const QPointF &point) const override; - public Q_SLOTS: void incrementCurrentIndex(); void decrementCurrentIndex(); -- cgit v1.2.3