1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

Avoid hourglass mouse pointer when a tooltip for menu item is shown.

src/w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Don't enable tracking of
 mouse movement events if the menu bar is active.  This avoids
 producing a busy "hour-glass" cursor by Windows if the mouse
 pointer is positioned over a tooltip shown for some menu item.
This commit is contained in:
Eli Zaretskii 2012-10-26 11:46:46 +02:00
parent 8c7727c335
commit ccc83f50a4
2 changed files with 20 additions and 1 deletions

View File

@ -1,3 +1,10 @@
2012-10-26 Eli Zaretskii <eliz@gnu.org>
* w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Don't enable tracking of
mouse movement events if the menu bar is active. This avoids
producing a busy "hour-glass" cursor by Windows if the mouse
pointer is positioned over a tooltip shown for some menu item.
2012-10-25 Paul Eggert <eggert@cs.ucla.edu>
Don't assume process IDs fit in int.

View File

@ -3331,7 +3331,19 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
versions, there is no way of telling when the mouse leaves the
frame, so we just have to put up with help-echo and mouse
highlighting remaining while the frame is not active. */
if (track_mouse_event_fn && !track_mouse_window)
if (track_mouse_event_fn && !track_mouse_window
/* If the menu bar is active, turning on tracking of mouse
movement events might send these events to the tooltip
frame, if the user happens to move the mouse pointer over
the tooltip. But since we don't process events for
tooltip frames, this causes Windows to present a
hourglass cursor, which is ugly and unexpected. So don't
enable tracking mouse events in this case; they will be
restarted when the menu pops down. (Confusingly, the
menubar_active member of f->output_data.w32, tested
above, is only set when a menu was popped up _not_ from
the frame's menu bar, but via x-popup-menu.) */
&& !menubar_in_use)
{
TRACKMOUSEEVENT tme;
tme.cbSize = sizeof (tme);