summaryrefslogtreecommitdiffstats
path: root/platform/android/dir_access_jandroid.cpp
diff options
context:
space:
mode:
authorFredia Huya-Kouadio <fhuya@meta.com>2024-04-15 10:30:18 -0700
committerFredia Huya-Kouadio <fhuya@meta.com>2024-04-15 10:30:18 -0700
commitf291a4ed3a64dd95bf8136f352e5d0554ada4a7c (patch)
tree5dd8a611fea937d1a372798a2e541cf2725f03cd /platform/android/dir_access_jandroid.cpp
parentb8fa48be040890f344a5178cf0fb9ea69c24f88e (diff)
downloadredot-engine-f291a4ed3a64dd95bf8136f352e5d0554ada4a7c.tar.gz
Fix leakage of JNI object references
Fixes https://github.com/godotengine/godot/issues/87548
Diffstat (limited to 'platform/android/dir_access_jandroid.cpp')
-rw-r--r--platform/android/dir_access_jandroid.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/platform/android/dir_access_jandroid.cpp b/platform/android/dir_access_jandroid.cpp
index 972a7dbe6a..ab90527bfa 100644
--- a/platform/android/dir_access_jandroid.cpp
+++ b/platform/android/dir_access_jandroid.cpp
@@ -321,6 +321,14 @@ void DirAccessJAndroid::setup(jobject p_dir_access_handler) {
_current_is_hidden = env->GetMethodID(cls, "isCurrentHidden", "(II)Z");
}
+void DirAccessJAndroid::terminate() {
+ JNIEnv *env = get_jni_env();
+ ERR_FAIL_NULL(env);
+
+ env->DeleteGlobalRef(cls);
+ env->DeleteGlobalRef(dir_access_handler);
+}
+
DirAccessJAndroid::DirAccessJAndroid() {
}