From f56cff8836eacbd3e9bef941104828d32ee214d7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Fri, 27 Apr 2007 06:39:45 +0000 Subject: [PATCH] (xg_update_menubar, create_menus): Create empty submenu for menu bar items. --- src/ChangeLog | 7 +++++++ src/gtkutil.c | 10 +++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/ChangeLog b/src/ChangeLog index 4b567e72e33..22055a99973 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2007-04-27 Jan Dj,Ad(Brv + + * xmenu.c (xdialog_show): Call Fredisplay before showing the dialog. + + * gtkutil.c (xg_update_menubar, create_menus): Create empty + submenu for menu bar items. + 2007-04-24 Chong Yidong * xdisp.c (redisplay_window): Use BEG_UNCHANGED and END_UNCHANGED diff --git a/src/gtkutil.c b/src/gtkutil.c index 8dfcf84f0f2..02e42f74852 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c @@ -2192,7 +2192,9 @@ create_menus (data, f, select_cb, deactivate_cb, highlight_cb, cl_data, &group); - if (item->contents) + /* Create a possibly empty submenu for menu bar items, since some + themes don't highlight items correctly without it. */ + if (item->contents || menu_bar_p) { GtkWidget *submenu = create_menus (item->contents, f, @@ -2479,8 +2481,14 @@ xg_update_menubar (menubar, f, list, iter, pos, val, cl_data, &group); + /* Create a possibly empty submenu for menu bar items, since some + themes don't highlight items correctly without it. */ + GtkWidget *submenu = create_menus (NULL, f, + select_cb, NULL, highlight_cb, + 0, 0, 0, 0, cl_data, 0); gtk_widget_set_name (w, MENU_ITEM_NAME); gtk_menu_shell_insert (GTK_MENU_SHELL (menubar), w, pos); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (w), submenu); g_list_free (*list); *list = iter = gtk_container_get_children (GTK_CONTAINER (menubar)); -- 2.39.2