From e584d2a8a96e3a86df8fa8684f511a3cd9317039 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
---
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 88a2754d6d132..db0e8686f318a 100644
--- a/src/core/android/SDL_android.c
+++ b/src/core/android/SDL_android.c
@@ -1798,18 +1798,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;
@@ -2892,6 +2898,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++) {