Sfoglia il codice sorgente

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 anni fa
parent
commit
02c63667c7

+ 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);
     }