From bd3d73a9fd72ab5978b7b0e99237ac5b94978dda Mon Sep 17 00:00:00 2001 From: Guilherme Felipe Date: Wed, 5 Sep 2018 18:45:23 -0300 Subject: [PATCH] Fix mouse confined leaving window with OS_Windows::set_window_position --- platform/windows/os_windows.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index 88793386ab3..e224a52b040 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -1711,6 +1711,15 @@ void OS_Windows::set_window_position(const Point2 &p_position) { RECT r; GetWindowRect(hWnd, &r); MoveWindow(hWnd, p_position.x, p_position.y, r.right - r.left, r.bottom - r.top, TRUE); + + // Don't let the mouse leave the window when moved + if (mouse_mode == MOUSE_MODE_CONFINED) { + RECT rect; + GetClientRect(hWnd, &rect); + ClientToScreen(hWnd, (POINT *)&rect.left); + ClientToScreen(hWnd, (POINT *)&rect.right); + ClipCursor(&rect); + } } Size2 OS_Windows::get_window_size() const {