- return NULL;
- else
- return atk_dbus_ref_to_path (ref);
-}
-
-gchar *
-atk_dbus_desktop_object_path ()
-{
- return g_strdup (SPI_ATK_OBJECT_PATH_PREFIX SPI_ATK_OBJECT_PATH_DESKTOP);
-}
-
-/*---------------------------------------------------------------------------*/
-
-typedef gboolean (*TreeUpdateAction) (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data,
- AtkObject *accessible);
-
-/*
- * Events are not evaluated for non-registered accessibles.
- *
- * When a property change is made on a registered accessible
- * the client side cache should be updated.
- *
- * When a parent is changed the subtree is de-registered
- * if the parent is not attached to the root accessible.
- */
-/* TODO Turn this function into a macro? */
-static gboolean
-tree_update_wrapper (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data,
- TreeUpdateAction action)
-{
- AtkObject *accessible;
-
- g_static_rec_mutex_lock (®istration_mutex);
-
- /* Ensure that only registered accessibles
- * have their signals processed.
- */
- accessible = ATK_OBJECT(g_value_get_object (¶m_values[0]));
- g_return_val_if_fail (ATK_IS_OBJECT (accessible), TRUE);
-
- if (object_to_ref (accessible))
- {
-#ifdef SPI_ATK_DEBUG
- if (recursion_check_and_set ())
- g_warning ("AT-SPI: Recursive use of registration module");
-
- g_debug ("AT-SPI: Tree update listener");
-#endif
- action (signal_hint, n_param_values, param_values, data, accessible);
-
- recursion_check_unset ();
- }
-
- g_static_rec_mutex_unlock (®istration_mutex);
-
- return TRUE;
-}
-
-static gboolean
-tree_update_state_action (GSignalInvocationHint *signal_hint,
- guint n_param_values,
- const GValue *param_values,
- gpointer data,
- AtkObject *accessible)
-{
- const gchar *name;
- gboolean state;
-
- if (n_param_values < 3)
- {
- g_warning ("at-spi: Not enough params in state-changed signal");
- return TRUE;
- }
-
- name = g_value_get_string (param_values + 1);
- state = g_value_get_boolean (param_values + 2);
- if (!strcmp (name, "visible") && state == 0)
- {
- if (object_is_moot (accessible))