diff options
author | Mike Gorse <mgorse@suse.com> | 2015-11-09 17:03:13 -0600 |
---|---|---|
committer | Mike Gorse <mgorse@suse.com> | 2015-11-09 17:03:13 -0600 |
commit | 0927e42791b6f866088108bec829fdf3037bc456 (patch) | |
tree | b00939a9b9856c1c46883236e812685f2e3c2a0a | |
parent | 7ebb237d55c677458f345117799b90386f791165 (diff) | |
download | at-spi2-core-0927e42791b6f866088108bec829fdf3037bc456.tar.gz |
get_index_in_parent: Don't crash if parent is defunct
-rw-r--r-- | atspi/atspi-accessible.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/atspi/atspi-accessible.c b/atspi/atspi-accessible.c index 85970d25..ceaedb57 100644 --- a/atspi/atspi-accessible.c +++ b/atspi/atspi-accessible.c @@ -399,11 +399,15 @@ atspi_accessible_get_index_in_parent (AtspiAccessible *obj, GError **error) if (!obj->accessible_parent) return -1; + if (!_atspi_accessible_test_cache (obj->accessible_parent, ATSPI_CACHE_CHILDREN) || !obj->accessible_parent->children) + goto dbus; + for (i = 0; i < obj->accessible_parent->children->len; i++) if (g_ptr_array_index (obj->accessible_parent->children, i) == obj) return i; } +dbus: _atspi_dbus_call (obj, atspi_interface_accessible, "GetIndexInParent", NULL, "=>i", &ret); return ret; |