# HG changeset patch # User Richard M. Stallman # Date 788565022 0 # Node ID 0231c0d38918ad67bfd657e00e2b51d6e9d80ea8 # Parent 83aaf59dabbe6875acfdea92028096545b5c12ae (make_lispy_event) [USE_X_TOOLKIT]: Turn off special handling of menu bar mouse events. (make_lispy_event): Tell pixel_to_glyph_coords not to clip. diff -r 83aaf59dabbe -r 0231c0d38918 src/keyboard.c --- a/src/keyboard.c Tue Dec 27 21:45:06 1994 +0000 +++ b/src/keyboard.c Tue Dec 27 21:50:22 1994 +0000 @@ -2729,13 +2729,17 @@ return Qnil; pixel_to_glyph_coords (f, XINT (event->x), XINT (event->y), - &column, &row, 0, 0); - -#ifdef USE_X_TOOLKIT - if (FRAME_EXTERNAL_MENU_BAR (f) && XINT (event->y) == -1) -#else - if (row < FRAME_MENU_BAR_LINES (f)) -#endif + &column, &row, 0, 1); + +#ifndef USE_X_TOOLKIT + /* In the non-toolkit version, clicks on the menu bar + are ordinary button events in the event buffer. + Distinguish them, and invoke the menu. + + (In the toolkit version, the toolkit handles the menu bar + and Emacs doesn't know about it until after the user + makes a selection.) */ + if (row >= 0 && row < FRAME_MENU_BAR_LINES (f)) { Lisp_Object items, item; int hpos; @@ -2747,7 +2751,6 @@ if (! (event->modifiers & down_modifier)) return Qnil; -#ifndef USE_X_TOOLKIT item = Qnil; items = FRAME_MENU_BAR_ITEMS (f); for (i = 0; i < XVECTOR (items)->size; i += 3) @@ -2764,7 +2767,6 @@ break; } } -#endif /* not USE_X_TOOLKIT */ position = Fcons (event->frame_or_window, @@ -2775,6 +2777,7 @@ return Fcons (item, Fcons (position, Qnil)); } +#endif /* not USE_X_TOOLKIT */ window = window_from_coordinates (f, column, row, &part);