From: Jan Djärv Date: Fri, 27 Apr 2007 06:39:45 +0000 (+0000) Subject: (xg_update_menubar, create_menus): Create empty X-Git-Tag: emacs-pretest-22.0.990~144 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f56cff8836eacbd3e9bef941104828d32ee214d7;p=emacs.git (xg_update_menubar, create_menus): Create empty submenu for menu bar items. --- 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));