aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1994-03-02 04:04:54 +0000
committerRichard M. Stallman1994-03-02 04:04:54 +0000
commit8351baf2f9508981603199ba657f6d720dc2dc44 (patch)
tree7f9fa2293ce0418effd7ef557e62498fa5a6799e /src
parentcf3540e492c6210eae1e343b2851f1413721c3b9 (diff)
downloademacs-8351baf2f9508981603199ba657f6d720dc2dc44.tar.gz
emacs-8351baf2f9508981603199ba657f6d720dc2dc44.zip
(update_menu_bar): Change call to menu_bar_items.
(display_menu_bar): Use FRAME_MENU_BAR_LINES as vector.
Diffstat (limited to 'src')
-rw-r--r--src/xdisp.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index d304d25378d..7a3a84e221e 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -969,7 +969,7 @@ update_menu_bar (window, just_this_one)
969 { 969 {
970 struct buffer *prev = current_buffer; 970 struct buffer *prev = current_buffer;
971 current_buffer = XBUFFER (w->buffer); 971 current_buffer = XBUFFER (w->buffer);
972 FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (); 972 FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (FRAME_MENU_BAR_ITEMS (f));
973 current_buffer = prev; 973 current_buffer = prev;
974#ifdef USE_X_TOOLKIT 974#ifdef USE_X_TOOLKIT
975 set_frame_menubar (f); 975 set_frame_menubar (f);
@@ -2388,6 +2388,7 @@ display_menu_bar (w)
2388 register FRAME_PTR f = XFRAME (WINDOW_FRAME (w)); 2388 register FRAME_PTR f = XFRAME (WINDOW_FRAME (w));
2389 int maxendcol = FRAME_WIDTH (f); 2389 int maxendcol = FRAME_WIDTH (f);
2390 int hpos = 0; 2390 int hpos = 0;
2391 int i;
2391 2392
2392#ifndef USE_X_TOOLKIT 2393#ifndef USE_X_TOOLKIT
2393 if (FRAME_MENU_BAR_LINES (f) <= 0) 2394 if (FRAME_MENU_BAR_LINES (f) <= 0)
@@ -2395,14 +2396,15 @@ display_menu_bar (w)
2395 2396
2396 get_display_line (f, vpos, 0); 2397 get_display_line (f, vpos, 0);
2397 2398
2398 for (tail = FRAME_MENU_BAR_ITEMS (f); CONSP (tail); tail = XCONS (tail)->cdr) 2399 items = FRAME_MENU_BAR_ITEMS (f);
2400 for (i = 0; i < XVECTOR (items)->size; i += 3)
2399 { 2401 {
2400 Lisp_Object string; 2402 Lisp_Object pos, string;
2401 2403 string = XVECTOR (items)->contents[i + 1];
2402 string = XCONS (XCONS (XCONS (tail)->car)->cdr)->car; 2404 if (NILP (string))
2405 break;
2403 2406
2404 /* Record in each item its hpos. */ 2407 XFASTINT (XVECTOR (items)->contents[i + 2]) = hpos;
2405 XFASTINT (XCONS (XCONS (XCONS (tail)->car)->cdr)->cdr) = hpos;
2406 2408
2407 if (hpos < maxendcol) 2409 if (hpos < maxendcol)
2408 hpos = display_string (XWINDOW (FRAME_ROOT_WINDOW (f)), vpos, 2410 hpos = display_string (XWINDOW (FRAME_ROOT_WINDOW (f)), vpos,