+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.
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);