emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32fns.c


From: Jason Rumney
Subject: [Emacs-diffs] Changes to emacs/src/w32fns.c
Date: Wed, 28 Nov 2001 15:34:47 -0500

Index: emacs/src/w32fns.c
diff -u emacs/src/w32fns.c:1.140 emacs/src/w32fns.c:1.141
--- emacs/src/w32fns.c:1.140    Sun Nov 25 06:03:33 2001
+++ emacs/src/w32fns.c  Wed Nov 28 15:34:46 2001
@@ -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.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]