diff options
author | Andreas Sandblad <andreas.sandblad@sonyericsson.com> | 2010-08-17 13:27:32 +0200 |
---|---|---|
committer | Patrick Jacques <kernelzilla@kinetic-computing.com> | 2010-11-03 14:15:54 -0700 |
commit | 6c455c8f741afd718192a323549301d1d9ccc396 (patch) | |
tree | 76349c8c5ba2602bd9bd0e4226dbf5cc0f04f7fd /core/java | |
parent | dc4b5a6e11d50898c06e650a99517e9406b56035 (diff) | |
download | frameworks_base-6c455c8f741afd718192a323549301d1d9ccc396.zip frameworks_base-6c455c8f741afd718192a323549301d1d9ccc396.tar.gz frameworks_base-6c455c8f741afd718192a323549301d1d9ccc396.tar.bz2 |
Monkey Crash: NullPointerException in WebTextView
getLayout() may return null if text or width has recently changed.
This fixes http://code.google.com/p/android/issues/detail?id=8055
Change-Id: Ibdf1226b3fec55cf3b9349741c228b9953a61585
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/webkit/WebTextView.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/webkit/WebTextView.java b/core/java/android/webkit/WebTextView.java index 19abec1..33e5290 100644 --- a/core/java/android/webkit/WebTextView.java +++ b/core/java/android/webkit/WebTextView.java @@ -28,6 +28,7 @@ import android.graphics.Rect; import android.graphics.drawable.Drawable; import android.text.Editable; import android.text.InputFilter; +import android.text.Layout; import android.text.Selection; import android.text.Spannable; import android.text.TextPaint; @@ -482,8 +483,12 @@ import java.util.ArrayList; int smallerSlop = slop/2; if (dx > smallerSlop || dy > smallerSlop) { if (mWebView != null) { - float maxScrollX = (float) Touch.getMaxScrollX(this, - getLayout(), mScrollY); + final Layout layout = getLayout(); + float maxScrollX = 0; + if (layout != null) { + maxScrollX = (float) Touch.getMaxScrollX(this, + layout, mScrollY); + } if (DebugFlags.WEB_TEXT_VIEW) { Log.v(LOGTAG, "onTouchEvent x=" + mScrollX + " y=" + mScrollY + " maxX=" + maxScrollX); |