[java-atk-wrapper: 1/2] Clean object name when getAccessibleName returns null
- From: Samuel Thibault <sthibaul src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [java-atk-wrapper: 1/2] Clean object name when getAccessibleName returns null
- Date: Wed, 1 May 2019 21:47:28 +0000 (UTC)
commit 07a2194abfab2d423b0bb89e3f9cf8b6d078d3e8
Author: Samuel Thibault <samuel thibault ens-lyon org>
Date: Mon Apr 1 22:04:39 2019 +0200
Clean object name when getAccessibleName returns null
If getAccessibleName() returns null, jaw_object_get_name would release
the string and delete the global reference, but not clear the
corresponding pointers. Another call to jaw_object_get_name() would then
try to release them again.
We thus need to clear the pointers, just like jaw_object_finalize()
does.
jni/src/jawobject.c | 4 ++++
1 file changed, 4 insertions(+)
---
diff --git a/jni/src/jawobject.c b/jni/src/jawobject.c
index bef6fe3..d26f69f 100644
--- a/jni/src/jawobject.c
+++ b/jni/src/jawobject.c
@@ -296,6 +296,8 @@ jaw_object_get_name (AtkObject *atk_obj)
{
(*jniEnv)->ReleaseStringUTFChars(jniEnv, jaw_obj->jstrName, atk_obj->name);
(*jniEnv)->DeleteGlobalRef(jniEnv, jaw_obj->jstrName);
+ jaw_obj->jstrName = NULL;
+ atk_obj->name = NULL;
}
if (jstr != NULL)
@@ -329,6 +331,8 @@ static void jaw_object_set_name (AtkObject *atk_obj, const gchar *name)
{
(*jniEnv)->ReleaseStringUTFChars(jniEnv, jaw_obj->jstrName, atk_obj->name);
(*jniEnv)->DeleteGlobalRef(jniEnv, jaw_obj->jstrName);
+ jaw_obj->jstrName = NULL;
+ atk_obj->name = NULL;
}
if (jstr != NULL)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]