-
Bug
-
Resolution: Done
-
P2: Important
-
5.10.1
-
None
-
macOS Sierra
-
6b877ec53f3308e4a685c43142fde951f81de02b and 936570a3b3440ed2508bacb9b9916381cb864ffb
Problem description:
When a MultiPointTouchArea in a child of a MouseArea, a three-finger drag gesture can causes a change in behavior for how "Released" MouseEvents are propagated to the MouseArea. In some cases, this includes not propagating a released event at all, causing the MouseArea to be in a broken, stuck state.
Reproduction steps:
- Unzip, build, and run attached example project
- Enable "Three-Finger Drag" in macOS (System Preferences > Accessibility > Mouse & Trackpad > Trackpad Options)
- Press three fingers on the trackpad above each box, drag outside of box, release
Both of the boxes have an EventFilter installed that simply logs event types that pass through the MouseArea.
Observed results:
- The yellow box with both MouseArea and MultiPointTouchArea reports a "Released" signal immediately upon releasing fingers, even though the MouseButtonRelease (QEvent 3) comes later when macOS triggers the release. Sometimes, the MouseArea will not report a Released event at all, even though the MouseButtonRelease QEvent is observed to occur. This causes a broken state that will disable components with the MouseArea.
- The green box with only a MouseArea reports the Released event reliably and also does not trigger until the MouseButtonRelease QEvent is observed.
Expected results:
The MouseArea underneath the MultiPointTouchArea receives MouseEvents reliably and identically to a solitary MouseArea.