Преглед изворни кода

Only clear the raw input queue status if we don't call GetRawInputBuffer()

GetRawInputBuffer() will do that for us when we read all the queued events
Sam Lantinga пре 2 година
родитељ
комит
02c63667c7
2 измењених фајлова са 2 додато и 3 уклоњено
  1. 2 0
      src/video/windows/SDL_windowsevents.c
  2. 0 3
      src/video/windows/SDL_windowsrawinput.c

+ 2 - 0
src/video/windows/SDL_windowsevents.c

@@ -674,6 +674,8 @@ void WIN_PollRawInput(SDL_VideoDevice *_this)
     /* Relative mouse motion is delivered to the window with keyboard focus */
     window = SDL_GetKeyboardFocus();
     if (!window) {
+        // Clear the queue status so MsgWaitForMultipleObjects() will wait again
+        (void)GetQueueStatus(QS_RAWINPUT);
         return;
     }
     data = window->driverdata;

+ 0 - 3
src/video/windows/SDL_windowsrawinput.c

@@ -81,9 +81,6 @@ static DWORD WINAPI WIN_RawInputThread(LPVOID param)
             break;
         }
 
-        /* Clear the queue status so MsgWaitForMultipleObjects() will wait again */
-        (void)GetQueueStatus(QS_RAWINPUT);
-
         WIN_PollRawInput(_this);
     }