summaryrefslogtreecommitdiff
path: root/gtk/a11y/gtkcellaccessible.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/a11y/gtkcellaccessible.c')
-rw-r--r--gtk/a11y/gtkcellaccessible.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/a11y/gtkcellaccessible.c b/gtk/a11y/gtkcellaccessible.c
index 93f0ebe771..54bd1adf47 100644
--- a/gtk/a11y/gtkcellaccessible.c
+++ b/gtk/a11y/gtkcellaccessible.c
@@ -91,8 +91,18 @@ static gint
gtk_cell_accessible_get_index_in_parent (AtkObject *obj)
{
GtkCellAccessible *cell;
+ AtkObject *parent;
+ int index;
cell = GTK_CELL_ACCESSIBLE (obj);
+ parent = gtk_widget_get_accessible (cell->widget);
+ if (parent == NULL)
+ return -1;
+
+ index = _gtk_cell_accessible_parent_get_child_index (GTK_CELL_ACCESSIBLE_PARENT (parent), cell);
+ if (index >= 0)
+ return index;
+
if (atk_state_set_contains_state (cell->state_set, ATK_STATE_STALE) &&
cell->refresh_index != NULL)
{