emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r110674: Avoid hourglass mouse pointe


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r110674: Avoid hourglass mouse pointer when a tooltip for menu item is shown.
Date: Fri, 26 Oct 2012 11:46:46 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 110674
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Fri 2012-10-26 11:46:46 +0200
message:
  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.
modified:
  src/ChangeLog
  src/w32fns.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-10-25 04:35:39 +0000
+++ b/src/ChangeLog     2012-10-26 09:46:46 +0000
@@ -1,3 +1,10 @@
+2012-10-26  Eli Zaretskii  <address@hidden>
+
+       * 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  <address@hidden>
 
        Don't assume process IDs fit in int.

=== modified file 'src/w32fns.c'
--- a/src/w32fns.c      2012-10-21 07:23:34 +0000
+++ b/src/w32fns.c      2012-10-26 09:46:46 +0000
@@ -3331,7 +3331,19 @@
         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);


reply via email to

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