From 287571fb468bf3a4ccab7cac72b08c35f889779f Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Wed, 22 Sep 2021 17:40:57 -0700 Subject: [PATCH] Limit effect of in_title_click and focus_click_pending to only blocking cursor warping; without this all relative mouse motion was getting ignored when a window was activated via a mouse button --- src/video/windows/SDL_windowsevents.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c index e995baa60..a37d06acf 100644 --- a/src/video/windows/SDL_windowsevents.c +++ b/src/video/windows/SDL_windowsevents.c @@ -731,10 +731,6 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) } } - if (data->in_title_click || data->focus_click_pending) { - break; - } - GetRawInputData(hRawInput, RID_INPUT, &inp, &size, sizeof(RAWINPUTHEADER)); /* Mouse data (ignoring synthetic mouse events generated for touchscreens) */ @@ -807,8 +803,9 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) } else { SDL_SendMouseMotion(data->window, mouseID, 1, relX, relY); - if (x < boundsRect.left || x > boundsRect.right || - y < boundsRect.top || y > boundsRect.bottom) { + if (!data->in_title_click && !data->focus_click_pending && + (x < boundsRect.left || x > boundsRect.right || + y < boundsRect.top || y > boundsRect.bottom)) { /* Warp back to the opposite side, assuming more motion in the current direction */ int warpX; int warpY;