Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.5.4
-
52086f74e (dev), fb5b65b32 (6.10), baf1ca0f3 (6.9), 6c5c040ad (tqtc/lts-6.8), e77207542 (tqtc/lts-6.5)
Description
Using MultiPointTouchArea inside Flickables, we can grab the touch point to avoid the Flickable to do it. The threshold is the same for both components, but it will happen first to MultiPointTouchArea.
When we are applying a scale down, MultiPointTouchArea is ignoring the scale to calculate the threshold making the Flickable achieve the threshold first.
In the attached small example, we have a Flickable simulating a ListView with some MultiPointTouchArea which are grabbing the touch point to not allowing the Flickable be scrolled. It only works if we do not apply a scale down. This was working fine in previous Qt 6.4.2 (not sure if this is the right version, but now we have this regression).
After some debugging, QQuickDeliveryAgentPrivate::dragOverThreshold() is receiving the right delta with scale, this function is responsible for Flickable, but QQuickMultiPointTouchArea::updateTouchData() in section where the MultiPointTouchArea's delta is calculated (before send the gestureStarted signal) is not using the scale.