diff options
| author | Eli Zaretskii | 2012-10-26 11:46:46 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2012-10-26 11:46:46 +0200 |
| commit | ccc83f50a4ca55842bcf955b9f8156c17aa43864 (patch) | |
| tree | 4e16a4c27d791f7f8f9eebb7abad554b56f95ab9 /src | |
| parent | 8c7727c3354291d0798b2eb031f42a32c618c391 (diff) | |
| download | emacs-ccc83f50a4ca55842bcf955b9f8156c17aa43864.tar.gz emacs-ccc83f50a4ca55842bcf955b9f8156c17aa43864.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/w32fns.c | 14 |
2 files changed, 20 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 835c550b426..bf519556334 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2012-10-26 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Don't enable tracking of | ||
| 4 | mouse movement events if the menu bar is active. This avoids | ||
| 5 | producing a busy "hour-glass" cursor by Windows if the mouse | ||
| 6 | pointer is positioned over a tooltip shown for some menu item. | ||
| 7 | |||
| 1 | 2012-10-25 Paul Eggert <eggert@cs.ucla.edu> | 8 | 2012-10-25 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 9 | ||
| 3 | Don't assume process IDs fit in int. | 10 | Don't assume process IDs fit in int. |
diff --git a/src/w32fns.c b/src/w32fns.c index 28e8ea02e05..aa120d59ce5 100644 --- a/src/w32fns.c +++ b/src/w32fns.c | |||
| @@ -3331,7 +3331,19 @@ w32_wnd_proc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) | |||
| 3331 | versions, there is no way of telling when the mouse leaves the | 3331 | versions, there is no way of telling when the mouse leaves the |
| 3332 | frame, so we just have to put up with help-echo and mouse | 3332 | frame, so we just have to put up with help-echo and mouse |
| 3333 | highlighting remaining while the frame is not active. */ | 3333 | highlighting remaining while the frame is not active. */ |
| 3334 | if (track_mouse_event_fn && !track_mouse_window) | 3334 | if (track_mouse_event_fn && !track_mouse_window |
| 3335 | /* If the menu bar is active, turning on tracking of mouse | ||
| 3336 | movement events might send these events to the tooltip | ||
| 3337 | frame, if the user happens to move the mouse pointer over | ||
| 3338 | the tooltip. But since we don't process events for | ||
| 3339 | tooltip frames, this causes Windows to present a | ||
| 3340 | hourglass cursor, which is ugly and unexpected. So don't | ||
| 3341 | enable tracking mouse events in this case; they will be | ||
| 3342 | restarted when the menu pops down. (Confusingly, the | ||
| 3343 | menubar_active member of f->output_data.w32, tested | ||
| 3344 | above, is only set when a menu was popped up _not_ from | ||
| 3345 | the frame's menu bar, but via x-popup-menu.) */ | ||
| 3346 | && !menubar_in_use) | ||
| 3335 | { | 3347 | { |
| 3336 | TRACKMOUSEEVENT tme; | 3348 | TRACKMOUSEEVENT tme; |
| 3337 | tme.cbSize = sizeof (tme); | 3349 | tme.cbSize = sizeof (tme); |