diff options
author | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2022-10-31 22:58:56 +0100 |
---|---|---|
committer | Markus Sauermann <6299227+Sauermann@users.noreply.github.com> | 2022-11-01 00:04:14 +0100 |
commit | 88feacdad53cd315d6f3e25cac186ee05717f0e2 (patch) | |
tree | d23838c9623a3c306fb3af159b17384bfd5c5119 | |
parent | e22a1d80312d3e0756225384810b67d36ffb34c8 (diff) |
Fix mouse offset for unfocused popups
On Windows, the mouse was offset, when unfocused popups were used,
like the Editor menu.
-rw-r--r-- | platform/windows/display_server_windows.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp index d99670243e..9d0a2578fb 100644 --- a/platform/windows/display_server_windows.cpp +++ b/platform/windows/display_server_windows.cpp @@ -2882,6 +2882,12 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA old_x = mm->get_position().x; old_y = mm->get_position().y; + if (!windows[receiving_window_id].window_has_focus) { + // In case of unfocused Popups, adjust event position. + Point2i pos = mm->get_position() - window_get_position(receiving_window_id) + window_get_position(window_id); + mm->set_position(pos); + mm->set_global_position(pos); + } Input::get_singleton()->parse_input_event(mm); } break; |