From f93bd8e401f3d2ffc2196f2bb236bf557c43f10b Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 8 Apr 2006 20:05:43 +0000 Subject: [PATCH] (w32_wnd_proc) : Ignore mouse movements if a menu is active on this frame. --- src/ChangeLog | 5 +++++ src/w32fns.c | 8 ++++++++ 2 files changed, 13 insertions(+) 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 + + * w32fns.c (w32_wnd_proc) : Ignore mouse movements + if a menu is active on this frame. + 2006-04-08 Dan Nicolaescu * 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 -- 2.39.2