diff options
author | Michael Kolb <kolby@google.com> | 2011-02-22 17:43:38 -0800 |
---|---|---|
committer | Michael Kolb <kolby@google.com> | 2011-02-22 17:43:44 -0800 |
commit | 05902aa39843613ea93dd0c1b41d561d4ea85ff9 (patch) | |
tree | 654cba9af040822334c96cfe0e3665a83bd7d0c8 /src/com/android/browser/TabBar.java | |
parent | 667271dd37665a8d6d1ee430c8f2680d0f1d9c8d (diff) | |
download | android_packages_apps_Gello-05902aa39843613ea93dd0c1b41d561d4ea85ff9.tar.gz android_packages_apps_Gello-05902aa39843613ea93dd0c1b41d561d4ea85ff9.tar.bz2 android_packages_apps_Gello-05902aa39843613ea93dd0c1b41d561d4ea85ff9.zip |
fix NPE in drawClipped
Bug: 3416053
only call draw clipped with instantiated shaders
Change-Id: Ib8d2f2bc37c8d4a4d0660e6bc745dea2733e5f32
Diffstat (limited to 'src/com/android/browser/TabBar.java')
-rw-r--r-- | src/com/android/browser/TabBar.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/com/android/browser/TabBar.java b/src/com/android/browser/TabBar.java index 9da19270..1d17cb3f 100644 --- a/src/com/android/browser/TabBar.java +++ b/src/com/android/browser/TabBar.java @@ -475,12 +475,14 @@ public class TabBar extends LinearLayout mInactiveShaderPaint.setShader(mInactiveShader); } } - - int state = canvas.save(); - getLocationInWindow(mWindowPos); - Paint paint = mSelected ? mActiveShaderPaint : mInactiveShaderPaint; - drawClipped(canvas, paint, mPath, mWindowPos[0]); - canvas.restoreToCount(state); + // add some monkey protection + if ((mActiveShader != null) && (mInactiveShader != null)) { + int state = canvas.save(); + getLocationInWindow(mWindowPos); + Paint paint = mSelected ? mActiveShaderPaint : mInactiveShaderPaint; + drawClipped(canvas, paint, mPath, mWindowPos[0]); + canvas.restoreToCount(state); + } super.dispatchDraw(canvas); } |