[gtk/ebassi/for-master: 3/6] a11y: Parse reference lists using varargs
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/ebassi/for-master: 3/6] a11y: Parse reference lists using varargs
- Date: Tue, 10 Nov 2020 14:32:15 +0000 (UTC)
commit c264254d4bc2e641042db744a9ada7504d53351f
Author: Emmanuele Bassi <ebassi gnome org>
Date: Tue Nov 10 14:14:47 2020 +0000
a11y: Parse reference lists using varargs
Using GList is a bit lame, and makes the API more complicated to use
than necessary in the common case.
The only real use case for a GList is gtk_widget_add_mnemonic_label(),
and for that we can use the GValue-based API instead.
Fixes: #3343
gtk/gtkaccessiblevalue.c | 31 ++++++++++++++++++++++++-------
gtk/gtkbutton.c | 3 +--
gtk/gtkexpander.c | 18 +++++++++---------
gtk/gtkframe.c | 2 +-
gtk/gtklabel.c | 2 +-
gtk/gtkmenubutton.c | 3 +--
gtk/gtkmodelbutton.c | 4 ++--
gtk/gtknotebook.c | 2 +-
gtk/gtkpopovermenubar.c | 4 ++--
gtk/gtkscrolledwindow.c | 24 ++++++++++++++----------
gtk/gtkstackswitcher.c | 2 +-
gtk/gtktestatcontext.c | 21 ++++++++++++++++++---
gtk/gtktestatcontext.h | 30 +++++++++++++++---------------
gtk/gtkwidget.c | 14 +++++++++-----
testsuite/a11y/accessible.c | 15 ++++-----------
testsuite/a11y/button.c | 6 ++----
testsuite/a11y/expander.c | 5 +----
testsuite/a11y/general.c | 5 +----
testsuite/a11y/label.c | 10 ++--------
testsuite/a11y/scrollbar.c | 7 ++-----
testsuite/a11y/stack.c | 9 ++-------
21 files changed, 113 insertions(+), 104 deletions(-)
---
diff --git a/gtk/gtkaccessiblevalue.c b/gtk/gtkaccessiblevalue.c
index ae9a0626b4..63cf0321d2 100644
--- a/gtk/gtkaccessiblevalue.c
+++ b/gtk/gtkaccessiblevalue.c
@@ -1120,18 +1120,35 @@ gtk_accessible_value_collect_valist (const GtkAccessibleCollect *cstate,
GtkAccessibleValueRefListCtor ctor =
(GtkAccessibleValueRefListCtor) cstate->ctor;
- GList *value = va_arg (*args, gpointer);
+ GtkAccessible *ref = va_arg (*args, gpointer);
+ GList *value = NULL;
- if (ctor == NULL)
+ while (ref != NULL)
{
- if (value == NULL)
- res = NULL;
- else
- res = gtk_reference_list_accessible_value_new (value);
+ if (!GTK_IS_ACCESSIBLE (ref))
+ {
+ g_set_error (error, GTK_ACCESSIBLE_VALUE_ERROR,
+ GTK_ACCESSIBLE_VALUE_ERROR_INVALID_VALUE,
+ "Reference of type ā%sā [%p] does not implement GtkAccessible",
+ G_OBJECT_TYPE_NAME (ref), ref);
+ return NULL;
+ }
+
+ value = g_list_prepend (value, ref);
+
+ ref = va_arg (*args, gpointer);
}
+
+ if (value == NULL)
+ res = gtk_undefined_accessible_value_new ();
else
{
- res = (* ctor) (value);
+ value = g_list_reverse (value);
+
+ if (ctor == NULL)
+ res = gtk_reference_list_accessible_value_new (value);
+ else
+ res = (* ctor) (value);
}
}
break;
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index f964eb7495..059853106a 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -939,8 +939,7 @@ gtk_button_set_icon_name (GtkButton *button,
}
gtk_accessible_update_relation (GTK_ACCESSIBLE (button),
- GTK_ACCESSIBLE_RELATION_LABELLED_BY,
- g_list_append (NULL, priv->child),
+ GTK_ACCESSIBLE_RELATION_LABELLED_BY, priv->child, NULL,
-1);
gtk_button_set_child_type (button, ICON_CHILD);
diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c
index 533b567252..9b60db04a4 100644
--- a/gtk/gtkexpander.c
+++ b/gtk/gtkexpander.c
@@ -1177,8 +1177,6 @@ void
gtk_expander_set_child (GtkExpander *expander,
GtkWidget *child)
{
- GList *list = NULL;
-
g_return_if_fail (GTK_IS_EXPANDER (expander));
g_return_if_fail (child == NULL || GTK_IS_WIDGET (child));
@@ -1201,14 +1199,16 @@ gtk_expander_set_child (GtkExpander *expander,
g_object_ref_sink (expander->child);
g_object_ref (expander->child);
}
- }
- if (expander->child)
- list = g_list_append (list, expander->child);
- gtk_accessible_update_relation (GTK_ACCESSIBLE (expander),
- GTK_ACCESSIBLE_RELATION_CONTROLS, list,
- -1);
- g_list_free (list);
+ gtk_accessible_update_relation (GTK_ACCESSIBLE (expander),
+ GTK_ACCESSIBLE_RELATION_CONTROLS, expander->child, NULL,
+ -1);
+ }
+ else
+ {
+ gtk_accessible_reset_relation (GTK_ACCESSIBLE (expander),
+ GTK_ACCESSIBLE_RELATION_CONTROLS);
+ }
g_object_notify (G_OBJECT (expander), "child");
}
diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c
index a841af7777..a8aa980779 100644
--- a/gtk/gtkframe.c
+++ b/gtk/gtkframe.c
@@ -376,7 +376,7 @@ update_accessible_relation (GtkFrame *frame)
if (priv->label_widget)
gtk_accessible_update_relation (GTK_ACCESSIBLE (priv->child),
- GTK_ACCESSIBLE_RELATION_LABELLED_BY, g_list_append (NULL,
priv->label_widget),
+ GTK_ACCESSIBLE_RELATION_LABELLED_BY, priv->label_widget, NULL,
-1);
else
gtk_accessible_reset_relation (GTK_ACCESSIBLE (priv->child),
diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c
index 2b3ee4c102..6aedef6dd0 100644
--- a/gtk/gtklabel.c
+++ b/gtk/gtklabel.c
@@ -1696,7 +1696,7 @@ gtk_label_set_text_internal (GtkLabel *self,
self->text = str;
gtk_accessible_update_property (GTK_ACCESSIBLE (self),
- GTK_ACCESSIBLE_PROPERTY_LABEL, str,
+ GTK_ACCESSIBLE_PROPERTY_LABEL, self->text,
-1);
gtk_label_select_region_index (self, 0, 0);
diff --git a/gtk/gtkmenubutton.c b/gtk/gtkmenubutton.c
index 4807be3994..93376641c0 100644
--- a/gtk/gtkmenubutton.c
+++ b/gtk/gtkmenubutton.c
@@ -520,8 +520,7 @@ update_sensitivity (GtkMenuButton *self)
-1);
if (self->popover != NULL)
gtk_accessible_update_relation (GTK_ACCESSIBLE (self),
- GTK_ACCESSIBLE_RELATION_CONTROLS,
- g_list_append (NULL, self->popover),
+ GTK_ACCESSIBLE_RELATION_CONTROLS, self->popover, NULL,
-1);
else
gtk_accessible_reset_relation (GTK_ACCESSIBLE (self),
diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c
index 4e4815fdc6..f5dc05286a 100644
--- a/gtk/gtkmodelbutton.c
+++ b/gtk/gtkmodelbutton.c
@@ -582,7 +582,7 @@ update_accessible_properties (GtkModelButton *button)
if (button->popover)
gtk_accessible_update_relation (GTK_ACCESSIBLE (button),
- GTK_ACCESSIBLE_RELATION_CONTROLS, g_list_append (NULL, button->popover),
+ GTK_ACCESSIBLE_RELATION_CONTROLS, button->popover, NULL,
-1);
else
gtk_accessible_reset_relation (GTK_ACCESSIBLE (button),
@@ -683,7 +683,7 @@ gtk_model_button_set_text (GtkModelButton *button,
update_visibility (button);
gtk_accessible_update_relation (GTK_ACCESSIBLE (button),
- GTK_ACCESSIBLE_RELATION_LABELLED_BY, g_list_append (NULL, button->label),
+ GTK_ACCESSIBLE_RELATION_LABELLED_BY, button->label, NULL,
-1);
g_object_notify_by_pspec (G_OBJECT (button), properties[PROP_TEXT]);
diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c
index d210c48fde..6f96faeee1 100644
--- a/gtk/gtknotebook.c
+++ b/gtk/gtknotebook.c
@@ -3968,7 +3968,7 @@ gtk_notebook_insert_notebook_page (GtkNotebook *notebook,
stack_page = gtk_stack_get_page (GTK_STACK (notebook->stack_widget), page->child);
gtk_accessible_update_relation (GTK_ACCESSIBLE (page->tab_widget),
- GTK_ACCESSIBLE_RELATION_CONTROLS, g_list_append (NULL, stack_page),
+ GTK_ACCESSIBLE_RELATION_CONTROLS, stack_page, NULL,
-1);
gtk_accessible_update_state (GTK_ACCESSIBLE (page->tab_widget),
diff --git a/gtk/gtkpopovermenubar.c b/gtk/gtkpopovermenubar.c
index 8e7f2a22d0..447dc5fa65 100644
--- a/gtk/gtkpopovermenubar.c
+++ b/gtk/gtkpopovermenubar.c
@@ -341,8 +341,8 @@ gtk_popover_menu_bar_item_root (GtkWidget *widget)
GTK_WIDGET_CLASS (gtk_popover_menu_bar_item_parent_class)->root (widget);
gtk_accessible_update_relation (GTK_ACCESSIBLE (widget),
- GTK_ACCESSIBLE_RELATION_LABELLED_BY, g_list_append (NULL, item->label),
- GTK_ACCESSIBLE_RELATION_CONTROLS, g_list_append (NULL, item->popover),
+ GTK_ACCESSIBLE_RELATION_LABELLED_BY, item->label, NULL,
+ GTK_ACCESSIBLE_RELATION_CONTROLS, item->popover, NULL,
-1);
gtk_accessible_update_property (GTK_ACCESSIBLE (widget),
GTK_ACCESSIBLE_PROPERTY_HAS_POPUP, TRUE,
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 85cdacacd5..afa250c846 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -4106,7 +4106,6 @@ gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window,
{
GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
GtkWidget *scrollable_child;
- GList *list;
g_return_if_fail (GTK_IS_SCROLLED_WINDOW (scrolled_window));
@@ -4163,16 +4162,21 @@ gtk_scrolled_window_set_child (GtkScrolledWindow *scrolled_window,
}
if (priv->child)
- list = g_list_append (NULL, priv->child);
+ {
+ gtk_accessible_update_relation (GTK_ACCESSIBLE (priv->hscrollbar),
+ GTK_ACCESSIBLE_RELATION_CONTROLS, priv->child, NULL,
+ -1);
+ gtk_accessible_update_relation (GTK_ACCESSIBLE (priv->vscrollbar),
+ GTK_ACCESSIBLE_RELATION_CONTROLS, priv->child, NULL,
+ -1);
+ }
else
- list = NULL;
- gtk_accessible_update_relation (GTK_ACCESSIBLE (priv->hscrollbar),
- GTK_ACCESSIBLE_RELATION_CONTROLS, list,
- -1);
- gtk_accessible_update_relation (GTK_ACCESSIBLE (priv->vscrollbar),
- GTK_ACCESSIBLE_RELATION_CONTROLS, list,
- -1);
- g_list_free (list);
+ {
+ gtk_accessible_reset_relation (GTK_ACCESSIBLE (priv->hscrollbar),
+ GTK_ACCESSIBLE_RELATION_CONTROLS);
+ gtk_accessible_reset_relation (GTK_ACCESSIBLE (priv->vscrollbar),
+ GTK_ACCESSIBLE_RELATION_CONTROLS);
+ }
g_object_notify_by_pspec (G_OBJECT (scrolled_window), properties[PROP_CHILD]);
}
diff --git a/gtk/gtkstackswitcher.c b/gtk/gtkstackswitcher.c
index 86fe74d418..29b1962ec5 100644
--- a/gtk/gtkstackswitcher.c
+++ b/gtk/gtkstackswitcher.c
@@ -276,7 +276,7 @@ add_child (guint position,
-1);
gtk_accessible_update_relation (GTK_ACCESSIBLE (button),
- GTK_ACCESSIBLE_RELATION_CONTROLS, g_list_append (NULL, page),
+ GTK_ACCESSIBLE_RELATION_CONTROLS, page, NULL,
-1);
g_signal_connect (button, "notify::active", G_CALLBACK (on_button_toggled), self);
diff --git a/gtk/gtktestatcontext.c b/gtk/gtktestatcontext.c
index 4812bc38ae..c8bd222d1a 100644
--- a/gtk/gtktestatcontext.c
+++ b/gtk/gtktestatcontext.c
@@ -171,7 +171,12 @@ gtk_test_accessible_check_property (GtkAccessible *accessible,
va_end (args);
- g_assert_no_error (error);
+ if (error != NULL)
+ {
+ res = g_strdup (error->message);
+ g_error_free (error);
+ return res;
+ }
if (check_value == NULL)
check_value = gtk_accessible_value_get_default_for_property (property);
@@ -233,7 +238,12 @@ gtk_test_accessible_check_state (GtkAccessible *accessible,
va_end (args);
- g_assert_no_error (error);
+ if (error != NULL)
+ {
+ res = g_strdup (error->message);
+ g_error_free (error);
+ return res;
+ }
if (check_value == NULL)
check_value = gtk_accessible_value_get_default_for_state (state);
@@ -295,7 +305,12 @@ gtk_test_accessible_check_relation (GtkAccessible *accessible,
va_end (args);
- g_assert_no_error (error);
+ if (error != NULL)
+ {
+ res = g_strdup (error->message);
+ g_error_free (error);
+ return res;
+ }
if (check_value == NULL)
check_value = gtk_accessible_value_get_default_for_relation (relation);
diff --git a/gtk/gtktestatcontext.h b/gtk/gtktestatcontext.h
index 430e7c405d..70d248b19a 100644
--- a/gtk/gtktestatcontext.h
+++ b/gtk/gtktestatcontext.h
@@ -52,19 +52,19 @@ G_STMT_START { \
* gtk_test_accessible_assert_property:
* @accessible: a #GtkAccessible
* @property: a #GtkAccessibleProperty
- * @value: the value of @property
+ * @...: the value of @property
*
* Checks whether a #GtkAccessible implementation has its accessible
- * property set to the expected @value, and raises an assertion if the
+ * property set to the expected value, and raises an assertion if the
* condition is not satisfied.
*/
-#define gtk_test_accessible_assert_property(accessible,property,value) \
+#define gtk_test_accessible_assert_property(accessible,property,...) \
G_STMT_START { \
GtkAccessible *__a = GTK_ACCESSIBLE (accessible); \
GtkAccessibleProperty __p = (property); \
- char *__value = gtk_test_accessible_check_property (__a, __p, (value)); \
+ char *__value = gtk_test_accessible_check_property (__a, __p, __VA_ARGS__); \
if (__value == NULL) ; else { \
- char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-property(" #property ") ==
" #value "): value = '%s'", __value); \
+ char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-property(" #property ") ==
" # __VA_ARGS__ "): value = '%s'", __value); \
g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \
g_free (__msg); \
} \
@@ -74,19 +74,19 @@ G_STMT_START { \
* gtk_test_accessible_assert_relation:
* @accessible: a #GtkAccessible
* @relation: a #GtkAccessibleRelation
- * @value: the expected value of @relation
+ * @...: the expected value of @relation
*
* Checks whether a #GtkAccessible implementation has its accessible
- * relation set to the expected @value, and raises an assertion if the
+ * relation set to the expected value, and raises an assertion if the
* condition is not satisfied.
*/
-#define gtk_test_accessible_assert_relation(accessible,relation,value) \
+#define gtk_test_accessible_assert_relation(accessible,relation,...) \
G_STMT_START { \
GtkAccessible *__a = GTK_ACCESSIBLE (accessible); \
GtkAccessibleRelation __r = (relation); \
- char *__value = gtk_test_accessible_check_relation (__a, __r, (value)); \
+ char *__value = gtk_test_accessible_check_relation (__a, __r, __VA_ARGS__); \
if (__value == NULL); else { \
- char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-relation(" #relation ") ==
" #value "): value = '%s'", __value); \
+ char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-relation(" #relation ") ==
" # __VA_ARGS__ "): value = '%s'", __value); \
g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \
g_free (__msg); \
} \
@@ -96,19 +96,19 @@ G_STMT_START { \
* gtk_test_accessible_assert_state:
* @accessible: a #GtkAccessible
* @state: a #GtkAccessibleRelation
- * @value: the expected value of @state
+ * @...: the expected value of @state
*
* Checks whether a #GtkAccessible implementation has its accessible
- * state set to the expected @value, and raises an assertion if the
+ * state set to the expected value, and raises an assertion if the
* condition is not satisfied.
*/
-#define gtk_test_accessible_assert_state(accessible,state,value) \
+#define gtk_test_accessible_assert_state(accessible,state,...) \
G_STMT_START { \
GtkAccessible *__a = GTK_ACCESSIBLE (accessible); \
GtkAccessibleState __s = (state); \
- char *__value = gtk_test_accessible_check_state (__a, __s, (value)); \
+ char *__value = gtk_test_accessible_check_state (__a, __s, __VA_ARGS__); \
if (__value == NULL); else { \
- char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-state(" #state ") == "
#value "): value = '%s'", __value); \
+ char *__msg = g_strdup_printf ("assertion failed: (" #accessible ".accessible-state(" #state ") == " #
__VA_ARGS__ "): value = '%s'", __value); \
g_assertion_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, __msg); \
g_free (__msg); \
} \
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index f3670fa96c..c29cc88ec0 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -9329,7 +9329,8 @@ gtk_widget_add_mnemonic_label (GtkWidget *widget,
GtkWidget *label)
{
GSList *old_list, *new_list;
- GList *list;
+ GtkAccessibleRelation relation = GTK_ACCESSIBLE_RELATION_LABELLED_BY;
+ GValue value = G_VALUE_INIT;
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (GTK_IS_WIDGET (label));
@@ -9340,10 +9341,13 @@ gtk_widget_add_mnemonic_label (GtkWidget *widget,
g_object_set_qdata_full (G_OBJECT (widget), quark_mnemonic_labels,
new_list, (GDestroyNotify) g_slist_free);
- 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);
}
/**
diff --git a/testsuite/a11y/accessible.c b/testsuite/a11y/accessible.c
index b353d9e94e..2ea857ac3e 100644
--- a/testsuite/a11y/accessible.c
+++ b/testsuite/a11y/accessible.c
@@ -590,7 +590,6 @@ test_reflist_relation (gconstpointer data)
TestObject *object;
TestObject *other;
TestObject *third;
- GList *refs;
object = test_object_new (GTK_ACCESSIBLE_ROLE_CHECKBOX);
other = test_object_new (GTK_ACCESSIBLE_ROLE_CHECKBOX);
@@ -600,21 +599,15 @@ test_reflist_relation (gconstpointer data)
gtk_test_accessible_assert_relation (object, relation, NULL);
- refs = g_list_append (NULL, other);
-
gtk_accessible_update_relation (GTK_ACCESSIBLE (object),
- relation, refs,
+ relation, other, NULL,
-1);
- gtk_test_accessible_assert_relation (object, relation, refs);
-
- refs = g_list_append (refs, third);
+ gtk_test_accessible_assert_relation (object, relation, other, NULL);
gtk_accessible_update_relation (GTK_ACCESSIBLE (object),
- relation, refs,
+ relation, other, third, NULL,
-1);
- gtk_test_accessible_assert_relation (object, relation, refs);
-
- g_list_free (refs);
+ gtk_test_accessible_assert_relation (object, relation, other, third, NULL);
g_object_unref (object);
g_object_unref (other);
diff --git a/testsuite/a11y/button.c b/testsuite/a11y/button.c
index 803a2fecf8..105e424f0c 100644
--- a/testsuite/a11y/button.c
+++ b/testsuite/a11y/button.c
@@ -32,13 +32,11 @@ static void
button_relation (void)
{
GtkWidget *button = gtk_button_new_with_mnemonic ("_Hello");
- GList *list;
g_object_ref_sink (button);
- list = g_list_append (NULL, gtk_widget_get_first_child (button));
- gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (button), GTK_ACCESSIBLE_RELATION_LABELLED_BY, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (button),
+ GTK_ACCESSIBLE_RELATION_LABELLED_BY, gtk_widget_get_first_child
(button), NULL);
g_object_unref (button);
}
diff --git a/testsuite/a11y/expander.c b/testsuite/a11y/expander.c
index 169898f796..07d605622b 100644
--- a/testsuite/a11y/expander.c
+++ b/testsuite/a11y/expander.c
@@ -31,15 +31,12 @@ expander_relations (void)
{
GtkWidget *widget = gtk_expander_new ("Hello");
GtkWidget *child = gtk_label_new ("Child");
- GList *list;
g_object_ref_sink (widget);
gtk_expander_set_child (GTK_EXPANDER (widget), child);
- list = g_list_append (NULL, child);
- gtk_test_accessible_assert_relation (widget, GTK_ACCESSIBLE_RELATION_CONTROLS, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (widget, GTK_ACCESSIBLE_RELATION_CONTROLS, child, NULL);
g_object_unref (widget);
}
diff --git a/testsuite/a11y/general.c b/testsuite/a11y/general.c
index fe37d05632..c459b5029c 100644
--- a/testsuite/a11y/general.c
+++ b/testsuite/a11y/general.c
@@ -61,7 +61,6 @@ test_labelled_by (void)
{
GtkWidget *widget;
GtkWidget *label;
- GList *list;
widget = gtk_switch_new ();
g_object_ref_sink (widget);
@@ -72,9 +71,7 @@ test_labelled_by (void)
g_object_ref_sink (label);
gtk_widget_add_mnemonic_label (widget, label);
- list = g_list_append (NULL, label);
- gtk_test_accessible_assert_relation (widget, GTK_ACCESSIBLE_RELATION_LABELLED_BY, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (widget, GTK_ACCESSIBLE_RELATION_LABELLED_BY, label, NULL);
g_object_unref (widget);
g_object_unref (label);
diff --git a/testsuite/a11y/label.c b/testsuite/a11y/label.c
index 3eba936bdf..5b6814af49 100644
--- a/testsuite/a11y/label.c
+++ b/testsuite/a11y/label.c
@@ -18,7 +18,6 @@ label_relations (void)
GtkWidget *label = gtk_label_new ("a");
GtkWidget *label2 = gtk_label_new ("b");
GtkWidget *entry = gtk_entry_new ();
- GList *list;
g_object_ref_sink (label);
g_object_ref_sink (label2);
@@ -28,16 +27,11 @@ label_relations (void)
gtk_widget_add_mnemonic_label (entry, label);
- list = g_list_append (NULL, label);
- gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (entry), GTK_ACCESSIBLE_RELATION_LABELLED_BY, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (entry), GTK_ACCESSIBLE_RELATION_LABELLED_BY, label,
NULL);
gtk_widget_add_mnemonic_label (entry, label2);
- list = g_list_append (NULL, label);
- list = g_list_append (list, label2);
- gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (entry), GTK_ACCESSIBLE_RELATION_LABELLED_BY, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (entry), GTK_ACCESSIBLE_RELATION_LABELLED_BY, label,
label2, NULL);
g_object_unref (entry);
g_object_unref (label);
diff --git a/testsuite/a11y/scrollbar.c b/testsuite/a11y/scrollbar.c
index 7120953151..c17ccb74ef 100644
--- a/testsuite/a11y/scrollbar.c
+++ b/testsuite/a11y/scrollbar.c
@@ -57,7 +57,6 @@ scrollbar_relations (void)
GtkWidget *hscrollbar;
GtkWidget *vscrollbar;
GtkWidget *child;
- GList *list;
g_object_ref_sink (sw);
@@ -70,10 +69,8 @@ scrollbar_relations (void)
child = gtk_text_view_new ();
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (sw), child);
- list = g_list_append (NULL, child);
- gtk_test_accessible_assert_relation (hscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, list);
- gtk_test_accessible_assert_relation (vscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (hscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, child, NULL);
+ gtk_test_accessible_assert_relation (vscrollbar, GTK_ACCESSIBLE_RELATION_CONTROLS, child, NULL);
g_object_unref (sw);
}
diff --git a/testsuite/a11y/stack.c b/testsuite/a11y/stack.c
index 3f092c9f55..cfa01e229e 100644
--- a/testsuite/a11y/stack.c
+++ b/testsuite/a11y/stack.c
@@ -71,7 +71,6 @@ stack_relations (void)
GtkWidget *switcher = gtk_stack_switcher_new ();
GtkWidget *child;
GtkStackPage *page;
- GList *list;
g_object_ref_sink (stack);
g_object_ref_sink (switcher);
@@ -83,15 +82,11 @@ stack_relations (void)
child = gtk_widget_get_first_child (switcher);
page = gtk_stack_get_page (GTK_STACK (stack), child1);
- list = g_list_append (NULL, page);
- gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (child), GTK_ACCESSIBLE_RELATION_CONTROLS, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (child), GTK_ACCESSIBLE_RELATION_CONTROLS, page, NULL);
child = gtk_widget_get_last_child (switcher);
page = gtk_stack_get_page (GTK_STACK (stack), child2);
- list = g_list_append (NULL, page);
- gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (child), GTK_ACCESSIBLE_RELATION_CONTROLS, list);
- g_list_free (list);
+ gtk_test_accessible_assert_relation (GTK_ACCESSIBLE (child), GTK_ACCESSIBLE_RELATION_CONTROLS, page, NULL);
g_object_unref (stack);
g_object_unref (switcher);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]