Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.0.2, 5.1.0
-
None
-
7caf5624d (dev), 4116ff2ae (6.8), 355be8bb6 (dev), e116b9594 (dev), 8b9ae6fa3 (6.8), c6ee51927 (6.8), 2576437ad (dev)
Description
A Flickable that is being flicked should continue to hold the mouse grab until the flick ends. This works correctly with the following example:
1. Flick the view
2. While the view is still moving, quickly press in the purple area and drag left/right
3. The total view should pan left/right (the outermost Flickable retains the grab)
import QtQuick 2.0 Flickable { width: 400; height: 400 contentHeight: height contentWidth: width * 3 Row { Rectangle { width: 400; height: 400; color: "green" } Rectangle { width: 400; height: 400; color: "blue" clip: true Flickable { width: parent.width height: 200 anchors.verticalCenter: parent.verticalCenter flickableDirection: Flickable.HorizontalFlick contentHeight: height contentWidth: width + 100 Rectangle { anchors.fill: parent color: "purple" // uncomment to see issue /*MouseArea { anchors.fill: parent onClicked: console.log("clicked") }*/ } } } Rectangle { width: 400; height: 400; color: "yellow" } } }
However, if you uncomment the MouseArea indicated above, the following sequence occurs:
1. Flick the view
2. While the view is still moving, quickly press in the purple area and drag left/right
3. The purple area incorrectly pans left/right (it has grabbed the mouse from the outermost Flickable)
This is a regression from QtQuick 1 – both versions work correctly in that case.
Attachments
Issue Links
- relates to
-
QTBUG-77629 QML Flickable stealing touch events from PinchArea
- Closed