Merge pull request #69390 from Sauermann/fix-mouse-event-position

Fix incorrect mouse event position while hovering different window
This commit is contained in:
Rémi Verschelde
2022-12-03 22:33:12 +01:00

View File

@ -2910,11 +2910,10 @@ LRESULT DisplayServerWindows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARA
old_x = mm->get_position().x; old_x = mm->get_position().x;
old_y = mm->get_position().y; old_y = mm->get_position().y;
if (!windows[receiving_window_id].window_has_focus) { if (receiving_window_id != window_id) {
// In case of unfocused Popups, adjust event position. // Adjust event position relative to window distance when event is sent to a different window.
Point2i pos = mm->get_position() - window_get_position(receiving_window_id) + window_get_position(window_id); mm->set_position(mm->get_position() - window_get_position(receiving_window_id) + window_get_position(window_id));
mm->set_position(pos); mm->set_global_position(mm->get_position());
mm->set_global_position(pos);
} }
Input::get_singleton()->parse_input_event(mm); Input::get_singleton()->parse_input_event(mm);