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
parent
5292156398
commit
287571fb46
|
@ -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));
|
GetRawInputData(hRawInput, RID_INPUT, &inp, &size, sizeof(RAWINPUTHEADER));
|
||||||
|
|
||||||
/* Mouse data (ignoring synthetic mouse events generated for touchscreens) */
|
/* Mouse data (ignoring synthetic mouse events generated for touchscreens) */
|
||||||
|
@ -807,8 +803,9 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||||
} else {
|
} else {
|
||||||
SDL_SendMouseMotion(data->window, mouseID, 1, relX, relY);
|
SDL_SendMouseMotion(data->window, mouseID, 1, relX, relY);
|
||||||
|
|
||||||
if (x < boundsRect.left || x > boundsRect.right ||
|
if (!data->in_title_click && !data->focus_click_pending &&
|
||||||
y < boundsRect.top || y > boundsRect.bottom) {
|
(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 */
|
/* Warp back to the opposite side, assuming more motion in the current direction */
|
||||||
int warpX;
|
int warpX;
|
||||||
int warpY;
|
int warpY;
|
||||||
|
|
Loading…
Reference in New Issue