From 092318d4dfb5ae9f8dda9f81b23a108517b4a101 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Thu, 3 Jul 2014 12:11:17 +0100 Subject: [PATCH] jni: avoid crashing when run on ART The ART runtime is stricter about calling env->DeleteWeakGlobalRef on an object/value that was not returned from env->NewWeakGlobalRef. In that case, it triggers an abort which causes the application to crash and display an "Application has stopped" dialog message. --- android/jni/jni/eSpeakService.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/android/jni/jni/eSpeakService.cpp b/android/jni/jni/eSpeakService.cpp index 72440c5b..8b0902a6 100644 --- a/android/jni/jni/eSpeakService.cpp +++ b/android/jni/jni/eSpeakService.cpp @@ -227,8 +227,6 @@ JNICALL Java_com_reecedunn_espeak_SpeechSynthesis_nativeDestroy( if (nat) { env->DeleteWeakGlobalRef(nat->object); delete nat; - } else { - env->DeleteWeakGlobalRef(object); } return JNI_TRUE;