From: Mike Gorse Date: Sun, 31 Jul 2011 22:17:01 +0000 (-0500) Subject: Have atspi_accessible_get_relation_set return a GPtrArray X-Git-Tag: AT_SPI2_CORE_2_1_5~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=229a6039d0c7a91cee71037741173d9a94a39e77;p=platform%2Fupstream%2Fat-spi2-core.git Have atspi_accessible_get_relation_set return a GPtrArray gobject-introspection/pygobject is not handling GArrays returning GObject pointers very well (BGO#655127), so committing this change, at least for now. It is an API break, but afaik no one is currently calling libatspi directly with pyatspi being the only consumer... --- diff --git a/atspi/atspi-accessible.c b/atspi/atspi-accessible.c index 29e4083..5b7cdf6 100644 --- a/atspi/atspi-accessible.c +++ b/atspi/atspi-accessible.c @@ -519,10 +519,10 @@ typedef struct * Get the set of #AtspiRelation objects which describe this #AtspiAccessible object's * relationships with other #AtspiAccessible objects. * - * Returns: (element-type AtspiAccessible*) (transfer full): an array of + * Returns: (element-type AtspiRelation*) (transfer full): an array of * #AtspiAccessibleRelation pointers. or NULL on exception **/ -GArray * +GPtrArray * atspi_accessible_get_relation_set (AtspiAccessible *obj, GError **error) { DBusMessage *reply; @@ -536,14 +536,14 @@ atspi_accessible_get_relation_set (AtspiAccessible *obj, GError **error) return NULL; _ATSPI_DBUS_CHECK_SIG (reply, "a(ua(so))", error, NULL); - ret = g_array_new (TRUE, TRUE, sizeof (AtspiRelation *)); + ret = g_ptr_array_new (); dbus_message_iter_init (reply, &iter); dbus_message_iter_recurse (&iter, &iter_array); while (dbus_message_iter_get_arg_type (&iter_array) != DBUS_TYPE_INVALID) { AtspiRelation *relation; relation = _atspi_relation_new_from_iter (&iter_array); - ret = g_array_append_val (ret, relation); + g_ptr_array_add (ret, relation); dbus_message_iter_next (&iter_array); } dbus_message_unref (reply); diff --git a/atspi/atspi-accessible.h b/atspi/atspi-accessible.h index d9deffe..5dd1aab 100644 --- a/atspi/atspi-accessible.h +++ b/atspi/atspi-accessible.h @@ -80,7 +80,7 @@ AtspiAccessible * atspi_accessible_get_child_at_index (AtspiAccessible *obj, gin gint atspi_accessible_get_index_in_parent (AtspiAccessible *obj, GError **error); -GArray * atspi_accessible_get_relation_set (AtspiAccessible *obj, GError **error); +GPtrArray * atspi_accessible_get_relation_set (AtspiAccessible *obj, GError **error); AtspiRole atspi_accessible_get_role (AtspiAccessible *obj, GError **error);