diff options
author | Olivier Fourdan <fourdan@xfce.org> | 2010-12-03 11:14:02 +0100 |
---|---|---|
committer | Olivier Fourdan <fourdan@xfce.org> | 2010-12-03 11:14:02 +0100 |
commit | dfd9b7860cc3d2d262b79577ba1924f1f9d7a29d (patch) | |
tree | 7542b1c0027fa98dc421318cdd5481ecc69c0fd9 /src | |
parent | 660246ce839c273ab62945eeeed4e3917b433aee (diff) | |
download | xfwm4-dfd9b7860cc3d2d262b79577ba1924f1f9d7a29d.tar.gz |
Fix hang when cancelling a submenu (bug #6562)
Diffstat (limited to 'src')
-rw-r--r-- | src/menu.c | 7 | ||||
-rw-r--r-- | src/menu.h | 1 |
2 files changed, 3 insertions, 5 deletions
diff --git a/src/menu.c b/src/menu.c index 2ad35698d..87aa96697 100644 --- a/src/menu.c +++ b/src/menu.c @@ -251,6 +251,7 @@ menu_default (GdkScreen *gscr, Window xid, MenuOp ops, MenuOp insensitive, MenuF } ws_menu = menu_workspace (menu, insensitive, ws, nws, wsn, wsn_items); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), ws_menu); + g_signal_connect (GTK_OBJECT (ws_menu), "selection-done", GTK_SIGNAL_FUNC (menu_closed), menu); break; default: if (menuitems[i].image_name) @@ -282,19 +283,17 @@ menu_default (GdkScreen *gscr, Window xid, MenuOp ops, MenuOp insensitive, MenuF } ++i; } - menu_connect (menu); + g_signal_connect (GTK_OBJECT (menu->menu), "selection-done", GTK_SIGNAL_FUNC (menu), menu); return (menu); } -Menu * +static Menu * menu_connect (Menu * menu) { TRACE ("entering menu_connect"); g_return_val_if_fail (menu != NULL, NULL); g_return_val_if_fail (GTK_IS_MENU (menu->menu), NULL); - g_signal_connect (GTK_OBJECT (menu->menu), "selection_done", - GTK_SIGNAL_FUNC (menu_closed), menu); return (menu); } diff --git a/src/menu.h b/src/menu.h index 8aa175a5d..6c6b91d23 100644 --- a/src/menu.h +++ b/src/menu.h @@ -107,7 +107,6 @@ Menu *menu_default (GdkScreen *, gint, eventFilterSetup*, gpointer); -Menu *menu_connect (Menu *); GtkWidget *menu_item_connect (GtkWidget *, MenuData *); gboolean menu_is_opened (void); |