comparison src/keyboard.c @ 11613:c4ef6460a9c9

(read_char, read_char_x_menu_prompt): Exclude menu-bar clicks when processing mouse clicks.
author Karl Heuer <kwzh@gnu.org>
date Sat, 29 Apr 1995 04:20:12 +0000
parents 317e5825008b
children 47ceabade5b2
comparison
equal deleted inserted replaced
11612:00bf6e6098d4 11613:c4ef6460a9c9
1818 This is never confused with reading using the minibuf 1818 This is never confused with reading using the minibuf
1819 because the recursive call of read_char in read_char_minibuf_menu_prompt 1819 because the recursive call of read_char in read_char_minibuf_menu_prompt
1820 does not pass on any keymaps. */ 1820 does not pass on any keymaps. */
1821 1821
1822 if (nmaps > 0 && INTERACTIVE 1822 if (nmaps > 0 && INTERACTIVE
1823 && !NILP (prev_event) && EVENT_HAS_PARAMETERS (prev_event) 1823 && !NILP (prev_event)
1824 && EVENT_HAS_PARAMETERS (prev_event)
1825 && !EQ (XCONS (prev_event)->car, Qmenu_bar)
1824 /* Don't bring up a menu if we already have another event. */ 1826 /* Don't bring up a menu if we already have another event. */
1825 && NILP (Vunread_command_events) 1827 && NILP (Vunread_command_events)
1826 && unread_command_char < 0) 1828 && unread_command_char < 0)
1827 c = read_char_x_menu_prompt (nmaps, maps, prev_event, used_mouse_menu); 1829 c = read_char_x_menu_prompt (nmaps, maps, prev_event, used_mouse_menu);
1828 1830
4620 return Qnil; 4622 return Qnil;
4621 4623
4622 #if (defined (HAVE_X_WINDOWS) && defined (HAVE_X_MENU)) || defined (MSDOS) 4624 #if (defined (HAVE_X_WINDOWS) && defined (HAVE_X_MENU)) || defined (MSDOS)
4623 /* If we got to this point via a mouse click, 4625 /* If we got to this point via a mouse click,
4624 use a real menu for mouse selection. */ 4626 use a real menu for mouse selection. */
4625 if (EVENT_HAS_PARAMETERS (prev_event)) 4627 if (EVENT_HAS_PARAMETERS (prev_event)
4628 && !EQ (XCONS (prev_event)->car, Qmenu_bar))
4626 { 4629 {
4627 /* Display the menu and get the selection. */ 4630 /* Display the menu and get the selection. */
4628 Lisp_Object *realmaps 4631 Lisp_Object *realmaps
4629 = (Lisp_Object *) alloca (nmaps * sizeof (Lisp_Object)); 4632 = (Lisp_Object *) alloca (nmaps * sizeof (Lisp_Object));
4630 Lisp_Object value; 4633 Lisp_Object value;