diff options
author | Mike Gorse <mgorse@suse.com> | 2015-06-18 20:04:31 -0500 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2015-08-14 18:49:46 -0500 |
commit | b2c8c4c7230742b683db3d69a608950fede76b6c (patch) | |
tree | acea76d5c73eef71648309da4ff71d16d5d88ce6 /atspi/atspi-accessible.h | |
parent | 2a9c0f5464ccf0b24c803c6a619f83d797362bde (diff) | |
download | at-spi2-core-b2c8c4c7230742b683db3d69a608950fede76b6c.tar.gz |
Modified cache API to include index and child count rather than children
The original cache API was problematic for QT AT-SPI because it forces
enumeration of all children, preventing lazy instantiation of objects.
The API now sends the object's index in parent and child count (or -1 if
not known / children should not be cached) rather than an array of
children.
Also made cache of children a GPtrArray rather than a GList, since it
may contain holes. If an object has not yet been instantiated for a
particular child, then its value will be set to NULL, and
atspi_accessible_get_child_at_index will make a dbus call to fetch the
child, at which point it will be cached.
https://bugzilla.gnome.org/show_bug.cgi?id=650090
Diffstat (limited to 'atspi/atspi-accessible.h')
-rw-r--r-- | atspi/atspi-accessible.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/atspi/atspi-accessible.h b/atspi/atspi-accessible.h index 2c3f8cc7..443e395a 100644 --- a/atspi/atspi-accessible.h +++ b/atspi/atspi-accessible.h @@ -49,7 +49,7 @@ struct _AtspiAccessible { AtspiObject parent; AtspiAccessible *accessible_parent; - GList *children; + GPtrArray *children; AtspiRole role; gint interfaces; char *name; @@ -163,7 +163,7 @@ const gchar* atspi_accessible_get_object_locale (AtspiAccessible *accessible, GE void atspi_accessible_set_cache_mask (AtspiAccessible *accessible, AtspiCache mask); -void atspi_accessible_clear_cache (AtspiAccessible *accessible); +void atspi_accessible_clear_cache (AtspiAccessible *obj); guint atspi_accessible_get_process_id (AtspiAccessible *accessible, GError **error); |