# HG changeset patch # User Jason Rumney # Date 1006979686 0 # Node ID aadcf676d5dedf514b81b2946ebeacb7a905480f # Parent d797ce338b4bed67067663f47fea1a3aecd0995d (w32_wnd_proc) : Display help directly. (Fx_show_tip): Don't subtract last width from row width. diff -r d797ce338b4b -r aadcf676d5de src/w32fns.c --- 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. */