diff options
Diffstat (limited to 'gtk/a11y/gtkatspiroot.c')
-rw-r--r-- | gtk/a11y/gtkatspiroot.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/gtk/a11y/gtkatspiroot.c b/gtk/a11y/gtkatspiroot.c index 9aec9af186..c4c09bdae1 100644 --- a/gtk/a11y/gtkatspiroot.c +++ b/gtk/a11y/gtkatspiroot.c @@ -407,12 +407,13 @@ static const GDBusInterfaceVTable root_accessible_vtable = { void gtk_at_spi_root_child_changed (GtkAtSpiRoot *self, - GtkAccessibleChildState state, + GtkAccessibleChildChange change, GtkAccessible *child) { guint n, i; int idx = 0; GVariant *window_ref; + GtkAccessibleChildState state; if (!self->toplevels) return; @@ -443,6 +444,18 @@ gtk_at_spi_root_child_changed (GtkAtSpiRoot *self, window_ref = gtk_at_spi_context_to_ref (GTK_AT_SPI_CONTEXT (context)); } + switch (change) + { + case GTK_ACCESSIBLE_CHILD_CHANGE_ADDED: + state = GTK_ACCESSIBLE_CHILD_STATE_ADDED; + break; + case GTK_ACCESSIBLE_CHILD_CHANGE_REMOVED: + state = GTK_ACCESSIBLE_CHILD_STATE_REMOVED; + break; + default: + g_assert_not_reached (); + } + gtk_at_spi_emit_children_changed (self->connection, self->root_path, state, |