diff options
author | Romain Guy <romainguy@google.com> | 2011-11-28 16:06:52 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-11-28 16:06:52 -0800 |
commit | 46685db957cc01cef4ba198aafe44d99fe31f62c (patch) | |
tree | 0a04fceefb38ca16d539c917fa3a8143b213da17 /core | |
parent | da822367886d68f997153c7edd5368f3dfb6d58d (diff) | |
parent | ff98fa5a847f66e591287154c634ef7895a9549c (diff) | |
download | frameworks_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.java | 17 |
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); } |