[gtk/ebassi/mnemonic-label-remove] a11y: Fix removing mnemonic widgets
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/ebassi/mnemonic-label-remove] a11y: Fix removing mnemonic widgets
- Date: Thu, 17 Dec 2020 15:50:11 +0000 (UTC)
commit af0973c847128ef18a231aa133653413523861d0
Author: Emmanuele Bassi <ebassi gnome org>
Date: Thu Dec 17 15:49:00 2020 +0000
a11y: Fix removing mnemonic widgets
We must not use the variadic arguments version with GList, as it expects
a pointer to a GtkAccessible.
gtk/gtkwidget.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 9204d62210..b26103e87b 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -9504,12 +9504,16 @@ gtk_widget_remove_mnemonic_label (GtkWidget *widget,
if (new_list != NULL && new_list->data != NULL)
{
- GList *list;
+ GtkAccessibleRelation relation = GTK_ACCESSIBLE_RELATION_LABELLED_BY;
+ GValue value = G_VALUE_INIT;
- list = gtk_widget_list_mnemonic_labels (widget);
- gtk_accessible_update_relation (GTK_ACCESSIBLE (widget),
- GTK_ACCESSIBLE_RELATION_LABELLED_BY, list,
- -1);
+ /* The ATContext takes ownership of the GList returned by list_mnemonic_labels(),
+ * so we don't need to free it
+ */
+ gtk_accessible_relation_init_value (relation, &value);
+ g_value_set_pointer (&value, gtk_widget_list_mnemonic_labels (widget));
+ gtk_accessible_update_relation_value (GTK_ACCESSIBLE (widget), 1, &relation, &value);
+ g_value_unset (&value);
}
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]