From a7f0f9498f2ce303f73764817e49d0ea0e2e5c9c Mon Sep 17 00:00:00 2001 From: Po Lu Date: Thu, 9 Mar 2023 19:42:13 +0800 Subject: [PATCH] Update Android port * src/android.c (android_destroy_handle): Handle OOM errors in android_destroy_handle. --- src/android.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/android.c b/src/android.c index e2ae77e30d0..69c87e731bd 100644 --- a/src/android.c +++ b/src/android.c @@ -2914,6 +2914,13 @@ android_destroy_handle (android_handle handle) (*android_java_env)->CallVoidMethod (android_java_env, android_handles[handle].handle, method); + + /* Just clear any exception thrown. If destroying the handle + fails from an out-of-memory error, then Emacs loses some + resources, but that is not as big deal as signalling. */ + (*android_java_env)->ExceptionClear (android_java_env); + + /* Delete the global reference regardless of any error. */ (*android_java_env)->DeleteGlobalRef (android_java_env, android_handles[handle].handle); android_handles[handle].handle = NULL; -- 2.39.5