summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2013-04-10 12:11:14 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-04-10 12:11:14 +0000
commitc37b63d6e777748d17ff177b128e30504fbd6c71 (patch)
treec0860c1d55ea352a8bb8c81e17dc064d1b8da99e /core/jni
parent4dac901f011e7c15882e260441225633a6435e49 (diff)
parent45fa0cbc54f46a2c55b7db9501ff74f539190bd1 (diff)
downloadframeworks_base-c37b63d6e777748d17ff177b128e30504fbd6c71.zip
frameworks_base-c37b63d6e777748d17ff177b128e30504fbd6c71.tar.gz
frameworks_base-c37b63d6e777748d17ff177b128e30504fbd6c71.tar.bz2
Merge "Ensure that a canvas is always backed by some form of SkDevice." into jb-mr2-dev
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android/graphics/Canvas.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/core/jni/android/graphics/Canvas.cpp b/core/jni/android/graphics/Canvas.cpp
index 9a9f6c8..11c7053 100644
--- a/core/jni/android/graphics/Canvas.cpp
+++ b/core/jni/android/graphics/Canvas.cpp
@@ -77,7 +77,14 @@ public:
}
static SkCanvas* initRaster(JNIEnv* env, jobject, SkBitmap* bitmap) {
- return bitmap ? new SkCanvas(*bitmap) : new SkCanvas;
+ if (bitmap) {
+ return new SkCanvas(*bitmap);
+ } else {
+ // Create an empty bitmap device to prevent callers from crashing
+ // if they attempt to draw into this canvas.
+ SkBitmap emptyBitmap;
+ return new SkCanvas(emptyBitmap);
+ }
}
static void copyCanvasState(JNIEnv* env, jobject clazz,