Mercurial > emacs
diff src/w32fns.c @ 41638:aadcf676d5de
(w32_wnd_proc) <WM_MENUSELECT>: Display help directly.
(Fx_show_tip): Don't subtract last width from row width.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Wed, 28 Nov 2001 20:34:46 +0000 |
parents | 2c71c672b3c7 |
children | 2dd41afd9b55 |
line wrap: on
line diff
--- a/src/w32fns.c Wed Nov 28 20:31:43 2001 +0000 +++ b/src/w32fns.c Wed Nov 28 20:34:46 2001 +0000 @@ -55,6 +55,7 @@ extern void free_frame_menubar (); extern double atof (); extern int w32_console_toggle_lock_key (int vk_code, Lisp_Object new_state); +extern void w32_menu_display_help (HWND owner, HMENU menu, UINT menu_item, UINT flags); extern int quit_char; /* A definition of XColor for non-X frames. */ @@ -4686,23 +4687,16 @@ goto dflt; case WM_MENUSELECT: -#if DIRECT_MENU_HELP + /* Direct handling of help_echo in menus. Should be safe now + that we generate the help_echo by placing a help event in the + keyboard buffer. */ { - /* Tooltips seemed to behave better when help_echo was directly - displayed, but this causes crashes when GC kicks in when the - tip_frame is active. */ HMENU menu = (HMENU) lParam; UINT menu_item = (UINT) LOWORD (wParam); UINT flags = (UINT) HIWORD (wParam); - BLOCK_INPUT; - w32_menu_display_help (menu, menu_item, flags); - UNBLOCK_INPUT; + w32_menu_display_help (hwnd, menu, menu_item, flags); } -#else - wmsg.dwModifiers = w32_get_modifiers (); - my_post_msg (&wmsg, hwnd, msg, wParam, lParam); -#endif return 0; case WM_MEASUREITEM: @@ -13547,6 +13541,8 @@ /* Let the row go over the full width of the frame. */ row->full_width_p = 1; +#ifdef TODO /* Investigate why some fonts need more width than is + calculated for some tooltips. */ /* There's a glyph at the end of rows that is use to place the cursor there. Don't include the width of this glyph. */ if (row->used[TEXT_AREA]) @@ -13555,6 +13551,7 @@ row_width = row->pixel_width - last->pixel_width; } else +#endif row_width = row->pixel_width; /* TODO: find why tips do not draw along baseline as instructed. */