summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2006-04-08 20:05:43 +0000
committerEli Zaretskii <eliz@gnu.org>2006-04-08 20:05:43 +0000
commitf93bd8e401f3d2ffc2196f2bb236bf557c43f10b (patch)
tree753d8335ccb63c9dc25bda72b00c8efcfc002ac7
parent31a4f621f9b605d56d43046686f0810927f1831d (diff)
downloademacs-f93bd8e401f3d2ffc2196f2bb236bf557c43f10b.tar.gz
(w32_wnd_proc) <WM_MOUSEMOVE>: Ignore mouse movements if a menu is active
on this frame.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/w32fns.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 85acd1c19c1..e91028e54e2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-08 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (w32_wnd_proc) <WM_MOUSEMOVE>: Ignore mouse movements
+ if a menu is active on this frame.
+
2006-04-08 Dan Nicolaescu <dann@ics.uci.edu>
* lisp.h (report_file_error): Mark as NO_RETURN.
diff --git a/src/w32fns.c b/src/w32fns.c
index 1cc3dc2800c..093739d1603 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -3297,6 +3297,14 @@ w32_wnd_proc (hwnd, msg, wParam, lParam)
return (msg == WM_XBUTTONDOWN || msg == WM_XBUTTONUP);
case WM_MOUSEMOVE:
+ /* Ignore mouse movements as long as the menu is active. These
+ movements are processed by the window manager anyway, and
+ it's wrong to handle them as if they happened on the
+ underlying frame. */
+ f = x_window_to_frame (dpyinfo, hwnd);
+ if (f && f->output_data.w32->menubar_active)
+ return 0;
+
/* If the mouse has just moved into the frame, start tracking
it, so we will be notified when it leaves the frame. Mouse
tracking only works under W98 and NT4 and later. On earlier