summaryrefslogtreecommitdiff
path: root/core/java/android/widget/ScrollView.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2010-03-24 13:42:51 -0700
committerAdam Powell <adamp@google.com>2010-03-24 13:42:51 -0700
commit9d0335b1e3a2c70506db2413ac8d8a0f88ba6bec (patch)
tree557b52905ceb78bd1065f775df134b027ac06c32 /core/java/android/widget/ScrollView.java
parentea08c513549c1ddd9ba32337cb30973d7b61ca32 (diff)
Fix for bug 2502886 - stupid monkeys.
Plugged a possible edge case with ScrollView/HorizontalScrollView that could cause this error. Change-Id: I509004189b9f5e536d6213c9fdfff598d9f958ca
Diffstat (limited to 'core/java/android/widget/ScrollView.java')
-rw-r--r--core/java/android/widget/ScrollView.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index f0094326239a..3cf2af28f2c2 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -408,7 +408,13 @@ public class ScrollView extends FrameLayout {
* Locally do absolute value. mLastMotionY is set to the y value
* of the down event.
*/
- final int pointerIndex = ev.findPointerIndex(mActivePointerId);
+ final int activePointerId = mActivePointerId;
+ if (activePointerId == INVALID_POINTER) {
+ // If we don't have a valid id, the touch down wasn't on content.
+ break;
+ }
+
+ final int pointerIndex = ev.findPointerIndex(activePointerId);
final float y = ev.getY(pointerIndex);
final int yDiff = (int) Math.abs(y - mLastMotionY);
if (yDiff > mTouchSlop) {