From 86eaf0f90577cec8f56f29eaca41d75468f56ffb Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Thu, 12 Dec 2024 16:09:06 +0100 Subject: [PATCH] Fix: Window can be moved while menu is open - cont'd (#1166) --- src/Fl_win32.cxx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx index 509f76767..e7539737f 100644 --- a/src/Fl_win32.cxx +++ b/src/Fl_win32.cxx @@ -1398,11 +1398,6 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar break; case WM_SETFOCUS: - if (Fl::grab() && (Fl::grab() != window) && Fl::grab()->menu_window()) { - // simulate click at remote location (see issue #1166) - mouse_event(Fl::grab(), 0, 1, MK_LBUTTON, MAKELPARAM(100000, 0)); - return 0; - } if ((Fl::modal_) && (Fl::modal_ != window)) { SetFocus(fl_xid(Fl::modal_)); return 0; @@ -1411,6 +1406,10 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lPar break; case WM_KILLFOCUS: + if (Fl::grab() && (Fl::grab() != window) && Fl::grab()->menu_window()) { + // simulate click at remote location (see issue #1166) + mouse_event(Fl::grab(), 0, 1, MK_LBUTTON, MAKELPARAM(100000, 0)); + } Fl::handle(FL_UNFOCUS, window); Fl::flush(); // it never returns to main loop when deactivated... break; -- GitLab