From 004ede5cfbcab69652857f0d25d7ddab5bfe0b23 Mon Sep 17 00:00:00 2001 From: Luke Yelavich Date: Fri, 9 Mar 2012 11:30:43 +1100 Subject: Remove the underscores used for mnewmonics, as orca speaks them, which is not what we want. --- libdbusmenu-gtk/client.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'libdbusmenu-gtk') diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index 4c3f1c2..95d6b8b 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -736,6 +736,7 @@ process_a11y_desc (DbusmenuMenuitem * mi, GtkMenuItem * gmi, GVariant * variant, } const gchar * setname = NULL; + const gchar * label = NULL; if (variant != NULL) { setname = g_variant_get_string(variant, NULL); @@ -746,7 +747,12 @@ process_a11y_desc (DbusmenuMenuitem * mi, GtkMenuItem * gmi, GVariant * variant, * causes tests to fail. */ if (setname == NULL) { - setname = dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_LABEL); + /* We don't want the underscore for mnewmonics */ + label = dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_LABEL); + + GRegex * regex = g_regex_new ("_", 0, 0, NULL); + setname = g_regex_replace_literal (regex, label, -1, 0, "", 0, NULL); + g_regex_unref(regex); } atk_object_set_name(aobj, setname); -- cgit v1.2.3 From 633cd3f92e926b587b07dbc910b513d1daacf0f5 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Fri, 9 Mar 2012 11:07:52 -0600 Subject: Restructuring slightly to have two cases, allocating memory and not allocating --- libdbusmenu-gtk/client.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'libdbusmenu-gtk') diff --git a/libdbusmenu-gtk/client.c b/libdbusmenu-gtk/client.c index 95d6b8b..9cb1144 100644 --- a/libdbusmenu-gtk/client.c +++ b/libdbusmenu-gtk/client.c @@ -735,27 +735,29 @@ process_a11y_desc (DbusmenuMenuitem * mi, GtkMenuItem * gmi, GVariant * variant, return; } - const gchar * setname = NULL; - const gchar * label = NULL; if (variant != NULL) { - setname = g_variant_get_string(variant, NULL); - } - + const gchar * setname = NULL; + setname = g_variant_dup_string(variant, NULL); + atk_object_set_name(aobj, setname); + } else { /* The atk docs advise to set the name of the atk object to an empty * string, but GTK doesn't yet do the same, and setting the name to NULL * causes tests to fail. */ - if (setname == NULL) { + gchar * setname = NULL; + const gchar * label = NULL; /* We don't want the underscore for mnewmonics */ label = dbusmenu_menuitem_property_get(mi, DBUSMENU_MENUITEM_PROP_LABEL); GRegex * regex = g_regex_new ("_", 0, 0, NULL); setname = g_regex_replace_literal (regex, label, -1, 0, "", 0, NULL); g_regex_unref(regex); + + atk_object_set_name(aobj, setname); + g_free(setname); } - atk_object_set_name(aobj, setname); return; } -- cgit v1.2.3