From 35dfb2181b2d748a17112c90b1508e7099d0d9c6 Mon Sep 17 00:00:00 2001 From: Kartikaya Gupta Date: Thu, 17 Nov 2011 13:25:56 -0500 Subject: [PATCH] Bug 700559 - Fix crash with overlapping fling events [r=pcwalton] A crash occurs when a second fling is started while the first fling has a non-zero velocity but zero excess. This happens because the displacement could temporarily trigger an overscroll, but then since the new viewport is not saved, it reverts back to no overscroll. However, state variables have already been updated, leading to things being out of sync and triggering the crash. Adding a call to update the position fixes this. See bug for more details. --- embedding/android/ui/PanZoomController.java | 1 + 1 file changed, 1 insertion(+) diff --git a/embedding/android/ui/PanZoomController.java b/embedding/android/ui/PanZoomController.java index 73dc8b988372..a260217080d6 100644 --- a/embedding/android/ui/PanZoomController.java +++ b/embedding/android/ui/PanZoomController.java @@ -250,6 +250,7 @@ public class PanZoomController mX.velocity = mY.velocity = 0.0f; mX.displace(); mY.displace(); + updatePosition(); if (mFlingTimer != null) mFlingTimer.cancel();