Details
-
Type:
Bug
-
Status: Reported
-
Priority:
P2: Important
-
Resolution: Unresolved
-
Affects Version/s: 5.15.2
-
Fix Version/s: None
-
Component/s: Quick: Core Declarative QML
-
Labels:None
-
Environment:Android (chromebook)
-
Platform/s:
Description
When a touch event immediately follows a canceled touch event, a double click event is generated for this sequence.
This occurs for example in the following case:
- Perform a scroll operation using a two-finger gesture on the touchpad of a chromebook
- Perform a single click. => This generates a new MotionEvent that is immediately cancelled, followed by the actual MotionEvent. As the two MotionEvent's are generated by the same user input, those two events occur inside a double click detection interval.
Possible solution
Resetting touchMousePressTimestamp inside QQuickWindowPrivate::deliverTouchCancelEvent fixes this issue:
bool QQuickWindowPrivate::deliverTouchCancelEvent(QTouchEvent *event) { ... touchMousePressTimestamp = 0; ... }