diff options
author | Romain Guy <romainguy@google.com> | 2011-08-01 17:39:21 -0700 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2011-08-01 17:39:21 -0700 |
commit | 0965a3244b4c3009d08db2e084cdcb681ef66d26 (patch) | |
tree | 034851a3f3c8e4e8c5da0ef829099ed8907e7286 /graphics | |
parent | a60c3889718f4513a6c9d8b80f655db5d6346905 (diff) | |
download | frameworks_base-0965a3244b4c3009d08db2e084cdcb681ef66d26.zip frameworks_base-0965a3244b4c3009d08db2e084cdcb681ef66d26.tar.gz frameworks_base-0965a3244b4c3009d08db2e084cdcb681ef66d26.tar.bz2 |
Allow Canvas.setBitmap() to receive a null Bitmap.
Change-Id: I6096f0b44866e532ccd96a29c816bf34d48c1dc2
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/java/android/graphics/Canvas.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java index 35ed4d2..6ae8c9b 100644 --- a/graphics/java/android/graphics/Canvas.java +++ b/graphics/java/android/graphics/Canvas.java @@ -178,17 +178,22 @@ public class Canvas { * @see #getDensity() */ public void setBitmap(Bitmap bitmap) { - if (!bitmap.isMutable()) { - throw new IllegalStateException(); - } if (isHardwareAccelerated()) { throw new RuntimeException("Can't set a bitmap device on a GL canvas"); } - throwIfRecycled(bitmap); - native_setBitmap(mNativeCanvas, bitmap.ni()); + int pointer = 0; + if (bitmap != null) { + if (!bitmap.isMutable()) { + throw new IllegalStateException(); + } + throwIfRecycled(bitmap); + mDensity = bitmap.mDensity; + pointer = bitmap.ni(); + } + + native_setBitmap(mNativeCanvas, pointer); mBitmap = bitmap; - mDensity = bitmap.mDensity; } /** |