Merge "Avoid throwing ISE in Canvas#restore underflow"
diff --git a/core/jni/android_graphics_Canvas.cpp b/core/jni/android_graphics_Canvas.cpp
index 47af5e6..49ee6c5 100644
--- a/core/jni/android_graphics_Canvas.cpp
+++ b/core/jni/android_graphics_Canvas.cpp
@@ -89,7 +89,7 @@
static void restore(JNIEnv* env, jobject, jlong canvasHandle) {
Canvas* canvas = get_canvas(canvasHandle);
if (canvas->getSaveCount() <= 1) { // cannot restore anymore
- doThrowISE(env, "Underflow in restore");
+ // fail silently on underflow, so as not to break existing apps that miscount
return;
}
canvas->restore();
@@ -98,7 +98,7 @@
static void restoreToCount(JNIEnv* env, jobject, jlong canvasHandle, jint restoreCount) {
Canvas* canvas = get_canvas(canvasHandle);
if (restoreCount < 1 || restoreCount > canvas->getSaveCount()) {
- doThrowIAE(env, "Underflow in restoreToCount");
+ // fail silently on underflow, so as not to break existing apps that miscount
return;
}
canvas->restoreToCount(restoreCount);