diff options
| author | JosJuice <josjuice@gmail.com> | 2022-12-25 16:30:51 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2022-12-27 22:03:44 +0100 |
| commit | 0b9351c194c8451576b183971e363ceaf658a448 (patch) | |
| tree | b0c70f7c62bf6810e0efd790c38c7ce6a7de06ab /Source/Android/jni/GameList/GameFileCache.cpp | |
| parent | 54a6c4a90dc02ccb2036f3309ded70f40403242a (diff) | |
Android: Make more meticulous use of DeleteLocalRef
If we're in a function that isn't just going to immediately return to
Java, leaking local references can lead to problems eventually.
Diffstat (limited to 'Source/Android/jni/GameList/GameFileCache.cpp')
| -rw-r--r-- | Source/Android/jni/GameList/GameFileCache.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/Android/jni/GameList/GameFileCache.cpp b/Source/Android/jni/GameList/GameFileCache.cpp index 061056cc90..280de59bf9 100644 --- a/Source/Android/jni/GameList/GameFileCache.cpp +++ b/Source/Android/jni/GameList/GameFileCache.cpp @@ -52,7 +52,9 @@ Java_org_dolphinemu_dolphinemu_model_GameFileCache_getAllGames(JNIEnv* env, jobj env->NewObjectArray(static_cast<jsize>(ptr->GetSize()), IDCache::GetGameFileClass(), nullptr); jsize i = 0; GetPointer(env, obj)->ForEach([env, array, &i](const auto& game_file) { - env->SetObjectArrayElement(array, i++, GameFileToJava(env, game_file)); + jobject j_game_file = GameFileToJava(env, game_file); + env->SetObjectArrayElement(array, i++, j_game_file); + env->DeleteLocalRef(j_game_file); }); return array; } |
