Ensure that a canvas is always backed by some form of SkDevice.

bug: 8518884
Change-Id: Id6c597179878ce5b938c00422e88bef5f12e2e1f
This commit is contained in:
Derek Sollenberger
2013-04-09 16:36:55 -04:00
parent a56b78dcd1
commit 45fa0cbc54

View File

@@ -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,