Mercurial > emacs
changeset 7459:1a6156c8731e
(xmenu_show): New var mb_item. Use it to determine the menubar item that
led to the menu.
(Fx_popup_menu): Suppress duplicate test case in the way to determine
whether the menu is handling a menu bar click.
author | Fred Pierresteguy <F.Pierresteguy@frcl.bull.fr> |
---|---|
date | Wed, 11 May 1994 09:33:15 +0000 |
parents | ac210d94f33f |
children | dc5c72c57c70 |
files | src/xmenu.c |
diffstat | 1 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xmenu.c Wed May 11 09:03:02 1994 +0000 +++ b/src/xmenu.c Wed May 11 09:33:15 1994 +0000 @@ -722,9 +722,7 @@ /* Determine whether this menu is handling a menu bar click. */ tem = Fcar (Fcdr (Fcar (Fcdr (position)))); - if (XTYPE (Fcar (position)) != Lisp_Cons - && CONSP (tem) - && EQ (Fcar (tem), Qmenu_bar)) + if (CONSP (tem) && EQ (Fcar (tem), Qmenu_bar)) menubarp = 1; } } @@ -1400,19 +1398,21 @@ { int xbeg; int xend = 0; + widget_value *mb_item = 0; - for (menubar_item = menubar->menu.old_stack[0]->contents; - menubar_item; - menubar_item = menubar_item->next) + for (mb_item = menubar->menu.old_stack[0]->contents; + mb_item; + mb_item = mb_item->next) { xbeg = xend; - xend += (string_width (menubar, menubar_item->name) + xend += (string_width (menubar, mb_item->name) + 2 * (menubar->menu.horizontal_spacing + menubar->menu.shadow_thickness)); if (x >= xbeg && x < xend) { x = xbeg + 4; y = 0; + menubar_item = mb_item; /* Arrange to show a different menu if we move in the menu bar to a different item. */ this_menu_bar_item_beg = xbeg;