diff options
| author | Richard M. Stallman | 1996-04-29 15:57:12 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1996-04-29 15:57:12 +0000 |
| commit | 469937ac967eb70672eb9f2fd8f23e5c681c0116 (patch) | |
| tree | 64d656426ff962406c9e7b0796d761f84d24b07a /src | |
| parent | d2ff1bf379d0714d817529a77b03f0e4ec9e2609 (diff) | |
| download | emacs-469937ac967eb70672eb9f2fd8f23e5c681c0116.tar.gz emacs-469937ac967eb70672eb9f2fd8f23e5c681c0116.zip | |
(display_menu_bar): FRAME_MENU_BAR_ITEMS now has four elements per item.
(update_menu_bar): If we update FRAME_MENU_BAR_ITEMS,
also set w->update_mode_line.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xdisp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 5f05b79338d..e2d75f6ee2b 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -1369,6 +1369,8 @@ update_menu_bar (f, save_match_data) | |||
| 1369 | call0 (Qrecompute_lucid_menubar); | 1369 | call0 (Qrecompute_lucid_menubar); |
| 1370 | safe_run_hooks (Qmenu_bar_update_hook); | 1370 | safe_run_hooks (Qmenu_bar_update_hook); |
| 1371 | FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (FRAME_MENU_BAR_ITEMS (f)); | 1371 | FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (FRAME_MENU_BAR_ITEMS (f)); |
| 1372 | /* Make sure to redisplay the menu bar in case we change it. */ | ||
| 1373 | w->update_mode_line = Qt; | ||
| 1372 | #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) | 1374 | #if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) |
| 1373 | if (FRAME_WINDOW_P (f)) | 1375 | if (FRAME_WINDOW_P (f)) |
| 1374 | set_frame_menubar (f, 0, 0); | 1376 | set_frame_menubar (f, 0, 0); |
| @@ -3260,14 +3262,14 @@ display_menu_bar (w) | |||
| 3260 | get_display_line (f, vpos, 0); | 3262 | get_display_line (f, vpos, 0); |
| 3261 | 3263 | ||
| 3262 | items = FRAME_MENU_BAR_ITEMS (f); | 3264 | items = FRAME_MENU_BAR_ITEMS (f); |
| 3263 | for (i = 0; i < XVECTOR (items)->size; i += 3) | 3265 | for (i = 0; i < XVECTOR (items)->size; i += 4) |
| 3264 | { | 3266 | { |
| 3265 | Lisp_Object pos, string; | 3267 | Lisp_Object pos, string; |
| 3266 | string = XVECTOR (items)->contents[i + 1]; | 3268 | string = XVECTOR (items)->contents[i + 1]; |
| 3267 | if (NILP (string)) | 3269 | if (NILP (string)) |
| 3268 | break; | 3270 | break; |
| 3269 | 3271 | ||
| 3270 | XSETFASTINT (XVECTOR (items)->contents[i + 2], hpos); | 3272 | XSETFASTINT (XVECTOR (items)->contents[i + 3], hpos); |
| 3271 | 3273 | ||
| 3272 | if (hpos < maxendcol) | 3274 | if (hpos < maxendcol) |
| 3273 | hpos = display_string (XWINDOW (FRAME_ROOT_WINDOW (f)), vpos, | 3275 | hpos = display_string (XWINDOW (FRAME_ROOT_WINDOW (f)), vpos, |