[java-atk-wrapper] Release 0.27.2



commit 57f226d06d1a2e1609c7852a78f589023e456402
Author: Ke Wang <ke wang sun com>
Date:   Thu Jun 11 13:08:53 2009 +0800

    Release 0.27.2
---
 NEWS                 |   12 ++++++++++++
 configure.in         |    2 +-
 jni/src/AtkWrapper.c |   35 +++++++++--------------------------
 wrapper/Makefile.am  |    2 +-
 4 files changed, 23 insertions(+), 28 deletions(-)

diff --git a/NEWS b/NEWS
index 34ccf30..e189592 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,15 @@
+Java ATK Wrapper version 0.27.2
+===============================
+Important changes:
+	* Use g_object_notify instead of g_signal_emit when
+          there is property changes, so as to fix the crash
+          bug.
+
+	* Register gnome_accessibility_module_shutdown as a
+          _atexit function after invocation of
+          gnome_accessibility_module_init, so as to fix the
+          bug that Java apps crash when exit.
+
 Java ATK Wrapper version 0.27.1
 ================================
 Initial release.
diff --git a/configure.in b/configure.in
index 42c6965..1533c8c 100644
--- a/configure.in
+++ b/configure.in
@@ -10,7 +10,7 @@ AM_INIT_AUTOMAKE([-Wall -Werror foreign])
 #   change to C+1:0:0
 # - If the interface is the same as the previous version, change to C:R+1:A
 
-LIB_ATK_WRAPPER_LT_VERSION=0:0:0
+LIB_ATK_WRAPPER_LT_VERSION=0:1:0
 AC_SUBST(LIB_ATK_WRAPPER_LT_VERSION)
 
 # jni
diff --git a/jni/src/AtkWrapper.c b/jni/src/AtkWrapper.c
index 1cd9c6f..f6b0d66 100644
--- a/jni/src/AtkWrapper.c
+++ b/jni/src/AtkWrapper.c
@@ -51,14 +51,16 @@ gpointer jni_main_loop(gpointer data) {
 		return NULL;
 	}
 
-	typedef void (*DL_INIT)(void);
-	DL_INIT dl_init;
-	if (!g_module_symbol( module, "gnome_accessibility_module_init", (gpointer*)&dl_init)) {
+	GVoidFunc dl_init;
+	GVoidFunc dl_shutdown;
+	if (!g_module_symbol( module, "gnome_accessibility_module_init", (gpointer*)&dl_init)
+			|| !g_module_symbol( module, "gnome_accessibility_module_shutdown", (gpointer*)&dl_shutdown)) {
 		g_module_close(module);
 		return NULL;
 	}
 
 	(*dl_init)();
+	g_atexit( dl_shutdown );
 
 	gdk_threads_enter();
 	gtk_main();
@@ -512,7 +514,7 @@ signal_emit_handler (gpointer p)
 		free_callback_para(para);
 		return FALSE;
 	}
-	
+
 	AtkObject* atk_obj = ATK_OBJECT(jaw_impl);
 
 	switch (para->signal_id) {
@@ -634,36 +636,17 @@ signal_emit_handler (gpointer p)
 		}
 		case Sig_Object_Property_Change_Accessible_Value:
 		{
-			gdouble oldValue = get_double_value(
-					jniEnv,
-					(*jniEnv)->GetObjectArrayElement(jniEnv, args, 0));
-			gdouble newValue = get_double_value(
-					jniEnv,
-					(*jniEnv)->GetObjectArrayElement(jniEnv, args, 1));
-			AtkPropertyValues values = { NULL };
-			g_value_init(&values.old_value, G_TYPE_DOUBLE);
-			g_value_set_double(&values.old_value, oldValue);
-			g_value_init(&values.new_value, G_TYPE_DOUBLE);
-			g_value_set_double(&values.new_value, newValue);
-			values.property_name = "accessible-value";
-
-			g_signal_emit_by_name(atk_obj,
-					"property_change::accessible-value",
-					&values);
+			g_object_notify(G_OBJECT(atk_obj), "accessible-value");
 			break;
 		}
 		case Sig_Object_Property_Change_Accessible_Description:
 		{
-			g_signal_emit_by_name(atk_obj,
-					"property_change::accessible-description",
-					NULL);
+			g_object_notify(G_OBJECT(atk_obj), "accessible-description");
 			break;
 		}
 		case Sig_Object_Property_Change_Accessible_Name:
 		{
-			g_signal_emit_by_name(atk_obj,
-					"property_change::accessible-name",
-					NULL);
+			g_object_notify(G_OBJECT(atk_obj), "accessible-name");
 			break;
 		}
 		case Sig_Object_Property_Change_Accessible_Hypertext_Offset:
diff --git a/wrapper/Makefile.am b/wrapper/Makefile.am
index bcfb5df..9fd376f 100644
--- a/wrapper/Makefile.am
+++ b/wrapper/Makefile.am
@@ -17,4 +17,4 @@ $(JARFILES) :
 all-local : $(DATA) $(JARFILES)
 
 clean-local:
-	rm $(JARFILES)
+	rm -f $(JARFILES)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]