const char *name, *desc;
dbus_uint32_t role;
- g_object_ref (G_OBJECT (obj));
-
set = atk_object_ref_state_set (obj);
{
AtkObject *application, *parent;
}
dbus_message_iter_close_container (iter_array, &iter_struct);
g_object_unref (set);
- g_object_unref (obj);
}
/*---------------------------------------------------------------------------*/
+static void
+ref_accessible_hf (gpointer key, gpointer obj_data, gpointer data)
+{
+ g_object_ref (key);
+}
+
/* For use as a GHFunc */
static void
append_accessible_hf (gpointer key, gpointer obj_data, gpointer data)
append_cache_item (ATK_OBJECT (key), data);
}
+static void
+unref_accessible_hf (gpointer key, gpointer obj_data, gpointer data)
+{
+ g_object_unref (key);
+}
+
/*---------------------------------------------------------------------------*/
static void
DBusMessageIter iter;
dbus_message_iter_init_append (message, &iter);
+ g_object_ref (accessible);
append_cache_item (accessible, &iter);
+ g_object_unref (accessible);
dbus_connection_send (spi_global_app_data->bus, message, NULL);
dbus_message_iter_init_append (reply, &iter);
dbus_message_iter_open_container (&iter, DBUS_TYPE_ARRAY,
SPI_CACHE_ITEM_SIGNATURE, &iter_array);
+ spi_cache_foreach (spi_global_cache, ref_accessible_hf, NULL);
spi_cache_foreach (spi_global_cache, append_accessible_hf, &iter_array);
+ spi_cache_foreach (spi_global_cache, unref_accessible_hf, NULL);
dbus_message_iter_close_container (&iter, &iter_array);
return reply;
}