diff options
author | Benjamin Otte <otte@redhat.com> | 2011-07-06 18:43:07 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2011-07-06 18:47:00 +0200 |
commit | 552113131cedf405d2e935bf9e163539a2f30856 (patch) | |
tree | c62421bb828db4d880a9655b9edd1358c254c90e /gtk/gtkradiomenuitem.c | |
parent | 70b8f8f7efa049ec98092e08c0ef53a50aa52c14 (diff) | |
download | gtk+-552113131cedf405d2e935bf9e163539a2f30856.tar.gz |
menuitems: Use submenuitem accessible exclusively
Submenus can come and go, so we cannot use an accessible that doesn't
allow for that.
Also, this fixes a rather large refleak.
Diffstat (limited to 'gtk/gtkradiomenuitem.c')
-rw-r--r-- | gtk/gtkradiomenuitem.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/gtk/gtkradiomenuitem.c b/gtk/gtkradiomenuitem.c index a17a0ee2ee..e596976190 100644 --- a/gtk/gtkradiomenuitem.c +++ b/gtk/gtkradiomenuitem.c @@ -394,24 +394,6 @@ gtk_radio_menu_item_get_group (GtkRadioMenuItem *radio_menu_item) return radio_menu_item->priv->group; } -static AtkObject * -gtk_radio_menu_item_get_accessible (GtkWidget *widget) -{ - GObject *object; - AtkObject *accessible; - - /* FIXME this is not really right, submenus can come and go */ - if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget))) - object = g_object_new (GTK_TYPE_RADIO_SUBMENU_ITEM_ACCESSIBLE, NULL); - else - object = g_object_new (GTK_TYPE_RADIO_MENU_ITEM_ACCESSIBLE, NULL); - - accessible = ATK_OBJECT (object); - atk_object_initialize (accessible, widget); - - return accessible; -} - static void gtk_radio_menu_item_class_init (GtkRadioMenuItemClass *klass) { @@ -427,7 +409,8 @@ gtk_radio_menu_item_class_init (GtkRadioMenuItemClass *klass) gobject_class->get_property = gtk_radio_menu_item_get_property; widget_class->destroy = gtk_radio_menu_item_destroy; - widget_class->get_accessible = gtk_radio_menu_item_get_accessible; + + gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_RADIO_SUBMENU_ITEM_ACCESSIBLE); menu_item_class->activate = gtk_radio_menu_item_activate; |