Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 14cfb6db authored by Chris Craik's avatar Chris Craik
Browse files

Avoid throwing ISE in Canvas#restore underflow

bug:19829784

Change-Id: I5829a7783ad912c09c83dee17bad10b90f42aace
parent f9eb4b90
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ static jint saveLayerAlpha(JNIEnv* env, jobject, jlong canvasHandle, jfloat l, j
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 restore(JNIEnv* env, jobject, jlong canvasHandle) {
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);