From: Mark Doffman Date: Tue, 20 May 2008 19:26:06 +0000 (+0100) Subject: 2008-05-20 Mark Doffman X-Git-Tag: AT_SPI2_ATK_2_12_0~674^2~12 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git;a=commitdiff_plain;h=4b8ae8526eb73a03789b575f9dffa487fc05bdf3 2008-05-20 Mark Doffman * atk-adaptor/bridge.c * atk-adaptor/accessible.h * atk-adaptor/tree.c Fix for bug introduced in cd5ac1. The getTree call to the Tree interface was not passing a DRoute instance to the append_update function and consequently the interface names were not getting appended to each object. --- diff --git a/atk-adaptor/accessible.h b/atk-adaptor/accessible.h index 958f4ec..dbcaf2a 100644 --- a/atk-adaptor/accessible.h +++ b/atk-adaptor/accessible.h @@ -57,7 +57,7 @@ DBusMessage *spi_dbus_return_object(DBusMessage *message, AtkObject *obj, int un dbus_bool_t spi_dbus_return_v_object(DBusMessageIter *iter, AtkObject *obj, int unref); /* tree.c */ -void spi_register_tree_object(DBusConnection *bus, const char *path); +void spi_register_tree_object(DBusConnection *bus, DRouteData *data, const char *path); dbus_bool_t spi_dbus_append_tree (DBusMessage * message, AtkObject * obj, DRouteData * data); diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c index 755310b..a579bca 100644 --- a/atk-adaptor/bridge.c +++ b/atk-adaptor/bridge.c @@ -199,7 +199,7 @@ spi_app_init (AtkObject *root) spi_dbus_initialize (&ad->droute); /* Below line for testing -- it should be removed once at-spi-registryd is working */ if (dbus_bus_request_name(ad->droute.bus, "test.atspi.tree", 0, &error)) printf("Got test name.\n"); - spi_register_tree_object(ad->droute.bus, "/org/freedesktop/atspi/tree"); + spi_register_tree_object(ad->droute.bus, &ad->droute, "/org/freedesktop/atspi/tree"); if (!dbus_connection_try_register_fallback (ad->droute.bus, "/org/freedesktop/atspi/accessible/", &droute_vtable, &ad->droute, &error)) { g_warning("Couldn't register droute.\n"); diff --git a/atk-adaptor/tree.c b/atk-adaptor/tree.c index ec5428c..752d011 100644 --- a/atk-adaptor/tree.c +++ b/atk-adaptor/tree.c @@ -43,6 +43,8 @@ append_update (DBusMessageIter * iter_array, AtkObject * obj, gint childcount; GSList *l; + g_assert(data != NULL); + dbus_message_iter_open_container (iter_array, DBUS_TYPE_STRUCT, NULL, &iter_struct); path = spi_dbus_get_path (obj); @@ -126,6 +128,8 @@ spi_dbus_append_tree (DBusMessage * message, AtkObject * obj, DBusMessageIter iter, iter_array; dbus_bool_t result; + g_assert(data != NULL); + dbus_message_iter_init_append (message, &iter); dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY, "(ooaoassus)", &iter_array); @@ -240,10 +244,11 @@ static DBusObjectPathVTable tree_vtable = void spi_register_tree_object(DBusConnection *bus, + DRouteData *data, const char *path) { dbus_bool_t mem = FALSE; - mem = dbus_connection_register_object_path(bus, path, &tree_vtable, NULL); + mem = dbus_connection_register_object_path(bus, path, &tree_vtable, data); g_assert(mem == TRUE); } @@ -284,7 +289,7 @@ static void handle_cache_item(char *path, guint action, CacheIterData *d) break; } g_hash_table_remove(cache_list, path); - } +} gboolean spi_dbus_update_cache(DRouteData *data) { @@ -292,6 +297,8 @@ gboolean spi_dbus_update_cache(DRouteData *data) DBusMessageIter iter; CacheIterData d; + g_assert(data != NULL); + if (update_pending == 0) return FALSE; //printf("Sending cache\n"); message = dbus_message_new_signal("/org/freedesktop/atspi/tree", "org.freedesktop.atspi.Tree", "UpdateTree");