diff options
author | Ken VanDine <ken.vandine@canonical.com> | 2011-03-23 16:34:24 -0400 |
---|---|---|
committer | Ken VanDine <ken.vandine@canonical.com> | 2011-03-23 16:34:24 -0400 |
commit | fcb2bd4e6936d7f7e40537f19e7dc13eb9d50ec2 (patch) | |
tree | d387895da5b6205efb28f6806b251a2bd053a1a3 /libdbusmenu-gtk | |
parent | acb6127f75c35a8e2b205f902cd3616b4ad42110 (diff) | |
parent | fe1b40cc146c28681b6473ab28198def62c5a38d (diff) | |
download | libdbusmenu-fcb2bd4e6936d7f7e40537f19e7dc13eb9d50ec2.tar.gz libdbusmenu-fcb2bd4e6936d7f7e40537f19e7dc13eb9d50ec2.tar.bz2 libdbusmenu-fcb2bd4e6936d7f7e40537f19e7dc13eb9d50ec2.zip |
releasing version 0.4.0-0ubuntu1
Diffstat (limited to 'libdbusmenu-gtk')
-rw-r--r-- | libdbusmenu-gtk/menuitem.c | 11 | ||||
-rw-r--r-- | libdbusmenu-gtk/parser.c | 2 |
2 files changed, 11 insertions, 2 deletions
diff --git a/libdbusmenu-gtk/menuitem.c b/libdbusmenu-gtk/menuitem.c index b3358fe..ca2bc3e 100644 --- a/libdbusmenu-gtk/menuitem.c +++ b/libdbusmenu-gtk/menuitem.c @@ -236,8 +236,15 @@ dbusmenu_menuitem_property_set_shortcut_menuitem (DbusmenuMenuitem * menuitem, c NULL); } - if (closure == NULL) - return FALSE; + if (closure == NULL) { + /* As a fallback, check for a closure in the related menu item. This + actually happens with SWT menu items. */ + GList * closures = gtk_widget_list_accel_closures (GTK_WIDGET (gmi)); + if (closures == NULL) + return FALSE; + closure = closures->data; + g_list_free (closures); + } GtkAccelGroup * group = gtk_accel_group_from_accel_closure(closure); diff --git a/libdbusmenu-gtk/parser.c b/libdbusmenu-gtk/parser.c index 9d93a1e..a7f90a2 100644 --- a/libdbusmenu-gtk/parser.c +++ b/libdbusmenu-gtk/parser.c @@ -845,7 +845,9 @@ item_activated (DbusmenuMenuitem *item, guint timestamp, gpointer user_data) if (GTK_IS_MENU_ITEM (child)) { + gdk_threads_enter (); gtk_menu_item_activate (GTK_MENU_ITEM (child)); + gdk_threads_leave (); } } } |