diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-11-23 11:47:29 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2020-11-23 15:02:25 +0100 |
commit | d15f6e0b237107d176a9790da609ff72ce3111f3 (patch) | |
tree | 2432cb45424e7dd67c7c784de075023a74607211 /tests/auto/quick/qquickfocusscope | |
parent | 0fdb3a01d3f2bba7d03ac0fa11d975f47d8ecdc7 (diff) |
Fix tst_PointHandler::pressedMultipleButtons
QQuickWindowPrivate::deliverPressOrReleaseEvent() calls
QPointerEvent::clearPassiveGrabbers() for every QEventPoint that has
the Pressed state. This is consistent with the idea that for every
press (a different mouse button or a different touchpoint), we start
over with event delivery so that different items and handlers can see
what's going on and decide whether it's relevant for them. But
QQuickPointerHandler::onGrabChanged() reacts with setActive(false).
So for example if we press left mouse button, then keep holding it
and press right mouse button, PointHandler changes its active state
twice, because its passive grab was cleared and then we visit it again;
it's still interested in tracking the mouse, so it takes another passive
grab and becomes active again. Avoiding emitting activeStateChanged
in this case would seem a bit contrived. As long as the release of
one button doesn't make PointHandler completely lose interest
prematurely, QTBUG-66360 can still be considered fixed, I think.
Pick-to: 6.0
Task-number: QTBUG-66360
Task-number: QTBUG-86729
Change-Id: I132a8c5d1878769481b8afcc62ba237b4498b069
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickfocusscope')
0 files changed, 0 insertions, 0 deletions