From b149f6ecf0651927a33cc3e4e4a95e886e60fd21 Mon Sep 17 00:00:00 2001 From: Mike Gorse Date: Tue, 19 Jan 2010 10:13:05 -0500 Subject: [PATCH] Event fixes --- atk-adaptor/adaptors/cache-adaptor.c | 4 ++-- atk-adaptor/event.c | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/atk-adaptor/adaptors/cache-adaptor.c b/atk-adaptor/adaptors/cache-adaptor.c index 265b0bc..31f39c8 100644 --- a/atk-adaptor/adaptors/cache-adaptor.c +++ b/atk-adaptor/adaptors/cache-adaptor.c @@ -218,8 +218,8 @@ static void append_accessible_hf (gpointer key, gpointer obj_data, gpointer data) { /* Make sure it isn't a hyperlink */ - if (ATK_IS_OBJECT (obj_data)) - append_cache_item (ATK_OBJECT (obj_data), data); + if (ATK_IS_OBJECT (key)) + append_cache_item (ATK_OBJECT (key), data); } /*---------------------------------------------------------------------------*/ diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c index f9f78f2..3ba1ba8 100644 --- a/atk-adaptor/event.c +++ b/atk-adaptor/event.c @@ -258,6 +258,23 @@ append_object (DBusMessageIter *iter, spi_object_append_v_reference (iter, ATK_OBJECT (val)); } +static gchar * +signal_name_to_dbus (const gchar *s) +{ + gchar *ret = g_strdup (s); + gchar *t; + + if (!ret) + return NULL; + ret [0] = toupper (ret [0]); + while ((t = strchr (ret, '-')) != NULL) + { + memmove (t, t + 1, strlen (t)); + *t = toupper (*t); + } + return ret; +} + /* * Emits an AT-SPI event. * AT-SPI events names are split into three parts: @@ -297,8 +314,7 @@ emit_event (AtkObject *obj, * name in D-Bus (Why not??!?) The names need converting * on this side, and again on the client side. */ - cname = g_strdup(major); - while ((t = strchr(cname, '-')) != NULL) *t = '_'; + cname = signal_name_to_dbus (major); sig = dbus_message_new_signal(path, klass, cname); g_free(cname); -- 2.7.4