Merge branch 'fix_next_accessible_sibling_after_refcounts' into 'main'

a11y: Fix the logic in gtk_accessible_get_next_accessible_sibling which decided whether we will use the overridden sibling on the context.

See merge request GNOME/gtk!5659
This commit is contained in:
Matthias Clasen
2023-03-16 21:12:20 +00:00
committed by Lukáš Tyrychtr
parent 96c47b8c6e
commit 678e11ecb5

View File

@@ -249,25 +249,21 @@ gtk_accessible_get_next_accessible_sibling (GtkAccessible *self)
g_return_val_if_fail (GTK_IS_ACCESSIBLE (self), NULL);
GtkATContext *context;
GtkAccessible *sibling = NULL;
context = gtk_accessible_get_at_context (self);
if (context != NULL)
if (context != NULL && gtk_at_context_get_accessible_parent (context) != NULL)
{
GtkAccessible *sibling = NULL;
if (gtk_at_context_get_accessible_parent (context) != NULL)
{
sibling = gtk_at_context_get_next_accessible_sibling (context);
if (sibling != NULL)
sibling = g_object_ref (sibling);
}
g_object_unref (context);
return sibling;
sibling = gtk_at_context_get_next_accessible_sibling (context);
if (sibling != NULL)
sibling = g_object_ref (sibling);
}
else
return GTK_ACCESSIBLE_GET_IFACE (self)->get_next_accessible_sibling (self);
sibling = GTK_ACCESSIBLE_GET_IFACE (self)->get_next_accessible_sibling (self);
g_clear_object (&context);
return sibling;
}
/**