瀏覽代碼

fill-in missing DeleteLocalRef calls

(cherry picked from commit e584d2a8a96e3a86df8fa8684f511a3cd9317039)
Brenton Bostick 4 月之前
父節點
當前提交
354bda8dde
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      src/core/android/SDL_android.c

+ 7 - 0
src/core/android/SDL_android.c

@@ -1729,18 +1729,24 @@ static bool Android_JNI_ExceptionOccurred(bool silent)
             exceptionName = (jstring)(*env)->CallObjectMethod(env, exceptionClass, mid);
             exceptionName = (jstring)(*env)->CallObjectMethod(env, exceptionClass, mid);
             exceptionNameUTF8 = (*env)->GetStringUTFChars(env, exceptionName, 0);
             exceptionNameUTF8 = (*env)->GetStringUTFChars(env, exceptionName, 0);
 
 
+            (*env)->DeleteLocalRef(env, classClass);
+
             mid = (*env)->GetMethodID(env, exceptionClass, "getMessage", "()Ljava/lang/String;");
             mid = (*env)->GetMethodID(env, exceptionClass, "getMessage", "()Ljava/lang/String;");
             exceptionMessage = (jstring)(*env)->CallObjectMethod(env, exception, mid);
             exceptionMessage = (jstring)(*env)->CallObjectMethod(env, exception, mid);
 
 
+            (*env)->DeleteLocalRef(env, exceptionClass);
+
             if (exceptionMessage != NULL) {
             if (exceptionMessage != NULL) {
                 const char *exceptionMessageUTF8 = (*env)->GetStringUTFChars(env, exceptionMessage, 0);
                 const char *exceptionMessageUTF8 = (*env)->GetStringUTFChars(env, exceptionMessage, 0);
                 SDL_SetError("%s: %s", exceptionNameUTF8, exceptionMessageUTF8);
                 SDL_SetError("%s: %s", exceptionNameUTF8, exceptionMessageUTF8);
                 (*env)->ReleaseStringUTFChars(env, exceptionMessage, exceptionMessageUTF8);
                 (*env)->ReleaseStringUTFChars(env, exceptionMessage, exceptionMessageUTF8);
+                (*env)->DeleteLocalRef(env, exceptionMessage);
             } else {
             } else {
                 SDL_SetError("%s", exceptionNameUTF8);
                 SDL_SetError("%s", exceptionNameUTF8);
             }
             }
 
 
             (*env)->ReleaseStringUTFChars(env, exceptionName, exceptionNameUTF8);
             (*env)->ReleaseStringUTFChars(env, exceptionName, exceptionNameUTF8);
+            (*env)->DeleteLocalRef(env, exceptionName);
         }
         }
 
 
         return true;
         return true;
@@ -2768,6 +2774,7 @@ bool Android_JNI_OpenFileDialog(
     if (filters) {
     if (filters) {
         jclass stringClass = (*env)->FindClass(env, "java/lang/String");
         jclass stringClass = (*env)->FindClass(env, "java/lang/String");
         filtersArray = (*env)->NewObjectArray(env, nfilters, stringClass, NULL);
         filtersArray = (*env)->NewObjectArray(env, nfilters, stringClass, NULL);
+        (*env)->DeleteLocalRef(env, stringClass);
 
 
         // Convert to string
         // Convert to string
         for (int i = 0; i < nfilters; i++) {
         for (int i = 0; i < nfilters; i++) {