diff options
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 6 | ||||
-rw-r--r-- | tests/auto/quick/pointerhandlers/flickableinterop/BLACKLIST | 4 |
2 files changed, 4 insertions, 6 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 54320d1e4b..3a2bcb107a 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2831,8 +2831,10 @@ void QQuickWindowPrivate::deliverUpdatedPoints(QPointerEvent *event) if (!event->allPointsGrabbed()) { QVector<QQuickItem *> targetItems; for (auto &point : event->points()) { - if (point.state() == QEventPoint::Pressed) - continue; // presses were delivered earlier; not the responsibility of deliverUpdatedTouchPoints + // Presses were delivered earlier; not the responsibility of deliverUpdatedTouchPoints. + // Don't find handlers for points that are already grabbed by an Item (such as Flickable). + if (point.state() == QEventPoint::Pressed || qmlobject_cast<QQuickItem *>(event->exclusiveGrabber(point))) + continue; QVector<QQuickItem *> targetItemsForPoint = pointerTargets(contentItem, event, point, false, false); if (targetItems.count()) { targetItems = mergePointerTargets(targetItems, targetItemsForPoint); diff --git a/tests/auto/quick/pointerhandlers/flickableinterop/BLACKLIST b/tests/auto/quick/pointerhandlers/flickableinterop/BLACKLIST index a992fbf137..47c11f14d8 100644 --- a/tests/auto/quick/pointerhandlers/flickableinterop/BLACKLIST +++ b/tests/auto/quick/pointerhandlers/flickableinterop/BLACKLIST @@ -9,7 +9,3 @@ windows gcc macos # QTBUG-86729 [touchDragSliderAndFlickable] * # QTBUG-86729 -[touchAndDragHandlerOnFlickable] -* # QTBUG-86729 -[dragHandlerInSiblingStealingGrabFromMouseAreaViaTouch] -* # QTBUG-86729 |