From cc9bb3bc3f47567e8fcf9dc64097c361c98ffb23 Mon Sep 17 00:00:00 2001 From: Marius Hanl Date: Tue, 28 Nov 2023 19:43:07 +0100 Subject: [PATCH] Do not consume (eat) mouse messages with no_focus Window's (Godot PopupMenu) Window's with the no_focus flag should still process mouse events and not consume them. Otherwise all mouse pressed operations will not work inside Godot's PopupMenu. This problem is Windows only, all other platforms do process mouse events for PopupMenu's correctly. (cherry picked from commit 40d7320a17560222042661798baba150d30c2d91) --- platform/windows/display_server_windows.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index e8d81405f0c..c801ca96e7b 100644 --- a/platform/windows/display_server_windows.cpp +++ b/platform/windows/display_server_windows.cpp @@ -2958,9 +2958,7 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA } } break; case WM_MOUSEACTIVATE: { - if (windows[window_id].no_focus) { - return MA_NOACTIVATEANDEAT; // Do not activate, and discard mouse messages. - } else if (windows[window_id].is_popup) { + if (windows[window_id].no_focus || windows[window_id].is_popup) { return MA_NOACTIVATE; // Do not activate, but process mouse messages. } } break;