diff options
| author | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-07-12 08:16:07 +0200 |
|---|---|---|
| committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2022-07-13 08:37:00 +0200 |
| commit | 66d85ce11e76bff1b5b9194c228335468c6bd396 (patch) | |
| tree | 70867544fdba46435995ca17b24ca2dc3a9fee0f /tests/auto/quick/pointerhandlers/qquickpointerhandler/tst_qquickpointerhandler.cpp | |
| parent | 85db031c3f449cbeba41eb5667cf6725cca8b32d (diff) | |
QQuickItemPrivate::handlePointerEvent: avoid passive grabbers too
...if avoidGrabbers == true.
When allPointsGrabbed() was implemented incorrectly and HoverHandlers
took passive grabs, QQuickDeliveryAgentPrivate::deliverUpdatedPoints()
delivered subsequent mouse moves to HoverHandlers because of their
passive grabs, while the loop at the bottom that was to deliver to
remaining handlers depended more on whether any exclusive grab was taken
by any other item or handler (because there weren't any remaining
HoverHandlers, they all had passive grabs; and if any point had an
exclusive grab, allPointsGrabbed() returned false). In practice, that
loop seldom ran. But now we want it to run and deliver hover events
to HoverHandlers, which no longer take passive grabs. While doing so,
any PointerHandler that _does_ have a passive grab would get visited an
extra time, if we did not rule it out. We already visited those handlers
in the middle part of deliverUpdatedPoints().
Pick-to: 6.3 6.4
Task-number: QTBUG-101932
Change-Id: I91ee19ec1adf410b9e97e2aa954cdf2e181a237b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/quick/pointerhandlers/qquickpointerhandler/tst_qquickpointerhandler.cpp')
0 files changed, 0 insertions, 0 deletions
