summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorRomain Guy <romainguy@google.com>2011-11-28 16:06:52 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-11-28 16:06:52 -0800
commit46685db957cc01cef4ba198aafe44d99fe31f62c (patch)
tree0a04fceefb38ca16d539c917fa3a8143b213da17 /core
parentda822367886d68f997153c7edd5368f3dfb6d58d (diff)
parentff98fa5a847f66e591287154c634ef7895a9549c (diff)
downloadframeworks_base-46685db957cc01cef4ba198aafe44d99fe31f62c.zip
frameworks_base-46685db957cc01cef4ba198aafe44d99fe31f62c.tar.gz
frameworks_base-46685db957cc01cef4ba198aafe44d99fe31f62c.tar.bz2
Merge "Fix crash in existing applications Bug #5659476" into ics-mr1
Diffstat (limited to 'core')
-rw-r--r--core/java/android/view/GLES20Canvas.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java
index d948ec2..4ca299f 100644
--- a/core/java/android/view/GLES20Canvas.java
+++ b/core/java/android/view/GLES20Canvas.java
@@ -737,8 +737,21 @@ class GLES20Canvas extends HardwareCanvas {
// Shaders are ignored when drawing bitmaps
int modifiers = paint != null ? setupModifiers(bitmap, paint) : MODIFIER_NONE;
final int nativePaint = paint == null ? 0 : paint.mNativePaint;
- nDrawBitmap(mRenderer, bitmap.mNativeBitmap, bitmap.mBuffer, src.left, src.top, src.right,
- src.bottom, dst.left, dst.top, dst.right, dst.bottom, nativePaint);
+
+ float left, top, right, bottom;
+ if (src == null) {
+ left = top = 0;
+ right = bitmap.getWidth();
+ bottom = bitmap.getHeight();
+ } else {
+ left = src.left;
+ right = src.right;
+ top = src.top;
+ bottom = src.bottom;
+ }
+
+ nDrawBitmap(mRenderer, bitmap.mNativeBitmap, bitmap.mBuffer, left, top, right, bottom,
+ dst.left, dst.top, dst.right, dst.bottom, nativePaint);
if (modifiers != MODIFIER_NONE) nResetModifiers(mRenderer, modifiers);
}