[java-atk-wrapper] Delegate getAccessibleChild call to EDT
- From: Samuel Thibault <sthibaul src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [java-atk-wrapper] Delegate getAccessibleChild call to EDT
- Date: Mon, 17 Jun 2019 22:25:08 +0000 (UTC)
commit ceccf44df1214d43a87158f3c8cf00b27e371dc5
Author: Giuseppe <giuseppecapaldo93 gmail com>
Date: Tue Jun 18 00:24:45 2019 +0200
Delegate getAccessibleChild call to EDT
jni/src/jawobject.c | 21 +++------------------
wrapper/org/GNOME/Accessibility/AtkObject.java | 10 ++++++++++
2 files changed, 13 insertions(+), 18 deletions(-)
---
diff --git a/jni/src/jawobject.c b/jni/src/jawobject.c
index 9832d47..79941e3 100644
--- a/jni/src/jawobject.c
+++ b/jni/src/jawobject.c
@@ -607,25 +607,10 @@ jaw_object_ref_child(AtkObject *atk_obj, gint i)
return NULL;
}
- jclass classAccessibleContext = (*jniEnv)->FindClass(jniEnv,
- "javax/accessibility/AccessibleContext" );
- jmethodID jmid = (*jniEnv)->GetMethodID(jniEnv,
- classAccessibleContext,
- "getAccessibleChild",
- "(I)Ljavax/accessibility/Accessible;" );
- jobject jchild = (*jniEnv)->CallObjectMethod( jniEnv, ac, jmid, i );
+ jclass atkObject = (*jniEnv)->FindClass (jniEnv, "org/GNOME/Accessibility/AtkObject");
+ jmethodID jmid = (*jniEnv)->GetStaticMethodID (jniEnv, atkObject, "getAccessibleChild",
"(Ljavax/accessibility/AccessibleContext;I)Ljavax/accessibility/AccessibleContext;" );
+ jobject child_ac = (*jniEnv)->CallStaticObjectMethod (jniEnv, atkObject, jmid, ac, i);
(*jniEnv)->DeleteGlobalRef(jniEnv, ac);
- if (jchild == NULL)
- {
- return NULL;
- }
-
- jclass classAccessible = (*jniEnv)->FindClass( jniEnv, "javax/accessibility/Accessible" );
- jmid = (*jniEnv)->GetMethodID(jniEnv,
- classAccessible,
- "getAccessibleContext",
- "()Ljavax/accessibility/AccessibleContext;" );
- jobject child_ac = (*jniEnv)->CallObjectMethod( jniEnv, jchild, jmid );
AtkObject *obj = (AtkObject*) jaw_impl_get_instance_from_jaw( jniEnv, child_ac );
if (G_OBJECT(obj) != NULL)
diff --git a/wrapper/org/GNOME/Accessibility/AtkObject.java b/wrapper/org/GNOME/Accessibility/AtkObject.java
index c3ea695..4da2da6 100644
--- a/wrapper/org/GNOME/Accessibility/AtkObject.java
+++ b/wrapper/org/GNOME/Accessibility/AtkObject.java
@@ -94,6 +94,16 @@ public class AtkObject{
return AtkUtil.invokeInSwing( () -> { return ac.getLocale(); }, null);
}
+ public static AccessibleContext getAccessibleChild(AccessibleContext ac, int i){
+ return AtkUtil.invokeInSwing( () -> {
+ Accessible child = ac.getAccessibleChild(i);
+ if (child == null)
+ return null;
+ else
+ return child.getAccessibleContext();
+ }, null);
+ }
+
public static int hashCode(AccessibleContext ac){
return AtkUtil.invokeInSwing( () -> { return ac.hashCode(); }, 0);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]