Fix Flickable movementEnded() signal emission
In case the content was flicked horizontally so that the vertical
position did not change handleMouseReleaseEvent performed a fixup
for the vertical position to be an integer _before_ starting the
horizontal flick. For some large content the rounding fixup had
finished before the flicking animation started which resulted
in a premature emission of the movementEnded() signal.
This race condition did not affect vertical flicking because the
vertical animation had always been started before the horizontal
fixup was scheduled.
The issue was revealed by QQuickWebView which above a certain
velocity threshold locks the movement in one direction, thus
produces the exact same vertical position throughout a horizontal
pan gesture.
This patch removes the race condition by starting the flick
animation in either direction first then performing the
position fixup if needed.
There does not seem to be a reliable way to auto-test this.
Change-Id: Idc8fb59b0a6ead71c6cfc7083a386d51048ec50c
Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>