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

Commit 6a5e6df9 authored by Mathieu Chartier's avatar Mathieu Chartier
Browse files

Fix incorrect JNI_ABORT

If there is a copy, JNI_ABORT does NOT copy back into the
corresponding java array. Changing this to 0 is what you want since
this will copy the data back if needed and free the temporary
storage.

Bug: 16858794
Change-Id: I3f3b426ea3cbba577bb720532c16ebf7493f1c1c
parent 71c4578d
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ static jint* beginNativeAttribList(JNIEnv *_env, jintArray attrib_list) {

static void endNativeAttributeList(JNIEnv *_env, jintArray attrib_list, jint* attrib_base) {
    if (attrib_list != NULL) {
        _env->ReleaseIntArrayElements(attrib_list, attrib_base, JNI_ABORT);
        _env->ReleaseIntArrayElements(attrib_list, attrib_base, 0);
    }
}

@@ -136,7 +136,7 @@ static jboolean jni_eglInitialize(JNIEnv *_env, jobject _this, jobject display,
            jint* base = (jint *)_env->GetPrimitiveArrayCritical(major_minor, (jboolean *)0);
            if (len >= 1) base[0] = 1;
            if (len >= 2) base[1] = 0;
            _env->ReleasePrimitiveArrayCritical(major_minor, base, JNI_ABORT);
            _env->ReleasePrimitiveArrayCritical(major_minor, base, 0);
        }
    }
    return EglBoolToJBool(success);
@@ -156,7 +156,7 @@ static jboolean jni_eglQueryContext(JNIEnv *_env, jobject _this, jobject display
    if (len) {
        jint* base = _env->GetIntArrayElements(value, (jboolean *)0);
        success = eglQueryContext(dpy, ctx, attribute, base);
        _env->ReleaseIntArrayElements(value, base, JNI_ABORT);
        _env->ReleaseIntArrayElements(value, base, 0);
    }
    return EglBoolToJBool(success);
}
@@ -176,7 +176,7 @@ static jboolean jni_eglQuerySurface(JNIEnv *_env, jobject _this, jobject display
    if (len) {
        jint* base = _env->GetIntArrayElements(value, (jboolean *)0);
        success = eglQuerySurface(dpy, sur, attribute, base);
        _env->ReleaseIntArrayElements(value, base, JNI_ABORT);
        _env->ReleaseIntArrayElements(value, base, 0);
    }
    return EglBoolToJBool(success);
}