fix NPE in drawClipped
Bug: 3416053
only call draw clipped with instantiated shaders
Change-Id: Ib8d2f2bc37c8d4a4d0660e6bc745dea2733e5f32
diff --git a/src/com/android/browser/TabBar.java b/src/com/android/browser/TabBar.java
index 9da1927..1d17cb3 100644
--- a/src/com/android/browser/TabBar.java
+++ b/src/com/android/browser/TabBar.java
@@ -475,12 +475,14 @@
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);
}