diff options
author | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-03-23 19:33:29 +0100 |
---|---|---|
committer | Shawn Rutledge <shawn.rutledge@qt.io> | 2017-03-27 12:07:10 +0000 |
commit | 65e005a72d62d8a42a60e0b8b789d1f04da91ccf (patch) | |
tree | eb16fe25bbcb233d777c4aa8a207c570ea2e24ff /tests/auto/quick/qquickflickable/tst_qquickflickable.cpp | |
parent | e2863c80fed06104eedfe83bce2737f2d24908a6 (diff) |
in childMouseEventFilter, touchpoint grabber is also the mouse grabber
When an item (such as Flickable) filters its children's mouse events,
sometimes the mouse event may be one that is synthesized from a touch
point. If that touch point is already grabbed, then in the context
of childMouseEventFilter QQuickWindow::mouseGrabberItem() should return
the item which has grabbed the touchpoint from which the mouse event
was synthesized. Otherwise, there was a regression in which an item
which can be dragged via touch (such as Slider in QQ Controls 2)
could have its grab stolen by a filtering parent, such as Flickable,
or the gesture recognizer in QtLocation. mouseGrabberItem() was
returning null because touchMouseId and touchMouseDevice were not
set, and the actual mouse was not grabbed.
If a touch event is used to synthesize a mouse event, and during
delivery an Item steals the grab of the synthetic mouse event, the
original grabber needs to be notified that it has lost the grab.
Task-number: QTBUG-59416
Change-Id: Ib121b06121df7593c0d549a6df42397b8ead1c45
Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
Diffstat (limited to 'tests/auto/quick/qquickflickable/tst_qquickflickable.cpp')
0 files changed, 0 insertions, 0 deletions