2008-05-20 Mark Doffman <mark.doffman@codethink.co.uk>
authorMark Doffman <mdoff@silver-wind.(none)>
Tue, 20 May 2008 19:26:06 +0000 (20:26 +0100)
committerMark Doffman <mdoff@silver-wind.(none)>
Tue, 20 May 2008 19:26:06 +0000 (20:26 +0100)
* 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.

atk-adaptor/accessible.h
atk-adaptor/bridge.c
atk-adaptor/tree.c

index 958f4ec..dbcaf2a 100644 (file)
@@ -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 */
 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);
 
 
 dbus_bool_t spi_dbus_append_tree (DBusMessage * message, AtkObject * obj, DRouteData * data);
 
index 755310b..a579bca 100644 (file)
@@ -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_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");
   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");
index ec5428c..752d011 100644 (file)
@@ -43,6 +43,8 @@ append_update (DBusMessageIter * iter_array, AtkObject * obj,
   gint childcount;
   GSList *l;
 
   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);
   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;
 
   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);
   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,
 
 void
 spi_register_tree_object(DBusConnection *bus,
+                        DRouteData *data,
                         const char *path)
 {
   dbus_bool_t mem = FALSE;
                         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);
 }
 
   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);
     break;
   }
   g_hash_table_remove(cache_list, path);
-  }
+}
 
 gboolean spi_dbus_update_cache(DRouteData *data)
 {
 
 gboolean spi_dbus_update_cache(DRouteData *data)
 {
@@ -292,6 +297,8 @@ gboolean spi_dbus_update_cache(DRouteData *data)
   DBusMessageIter iter;
   CacheIterData d;
 
   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");
   if (update_pending == 0) return FALSE;
 //printf("Sending cache\n");
   message = dbus_message_new_signal("/org/freedesktop/atspi/tree", "org.freedesktop.atspi.Tree", "UpdateTree");