From 354bda8dde9a15411cc2296f44a741fe02edbaed Mon Sep 17 00:00:00 2001
From: Brenton Bostick <[EMAIL REDACTED]>
Date: Mon, 13 Oct 2025 11:38:20 -0400
Subject: [PATCH] fill-in missing DeleteLocalRef calls
(cherry picked from commit e584d2a8a96e3a86df8fa8684f511a3cd9317039)
---
src/core/android/SDL_android.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/core/android/SDL_android.c b/src/core/android/SDL_android.c
index f5cda7b6e2b6b..c600920817e88 100644
--- a/src/core/android/SDL_android.c
+++ b/src/core/android/SDL_android.c
@@ -1729,18 +1729,24 @@ static bool Android_JNI_ExceptionOccurred(bool silent)
exceptionName = (jstring)(*env)->CallObjectMethod(env, exceptionClass, mid);
exceptionNameUTF8 = (*env)->GetStringUTFChars(env, exceptionName, 0);
+ (*env)->DeleteLocalRef(env, classClass);
+
mid = (*env)->GetMethodID(env, exceptionClass, "getMessage", "()Ljava/lang/String;");
exceptionMessage = (jstring)(*env)->CallObjectMethod(env, exception, mid);
+ (*env)->DeleteLocalRef(env, exceptionClass);
+
if (exceptionMessage != NULL) {
const char *exceptionMessageUTF8 = (*env)->GetStringUTFChars(env, exceptionMessage, 0);
SDL_SetError("%s: %s", exceptionNameUTF8, exceptionMessageUTF8);
(*env)->ReleaseStringUTFChars(env, exceptionMessage, exceptionMessageUTF8);
+ (*env)->DeleteLocalRef(env, exceptionMessage);
} else {
SDL_SetError("%s", exceptionNameUTF8);
}
(*env)->ReleaseStringUTFChars(env, exceptionName, exceptionNameUTF8);
+ (*env)->DeleteLocalRef(env, exceptionName);
}
return true;
@@ -2768,6 +2774,7 @@ bool Android_JNI_OpenFileDialog(
if (filters) {
jclass stringClass = (*env)->FindClass(env, "java/lang/String");
filtersArray = (*env)->NewObjectArray(env, nfilters, stringClass, NULL);
+ (*env)->DeleteLocalRef(env, stringClass);
// Convert to string
for (int i = 0; i < nfilters; i++) {