Преглед на файлове

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

Sam Lantinga преди 3 години
родител
ревизия
287571fb46
променени са 1 файла, в които са добавени 3 реда и са изтрити 6 реда
  1. 3 6
      src/video/windows/SDL_windowsevents.c

+ 3 - 6
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;