Browse Source

Wii: re-request the status if we get a communication error

Sam Lantinga 2 years ago
parent
commit
c3ecb9d099
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/joystick/hidapi/SDL_hidapi_wii.c

+ 3 - 1
src/joystick/hidapi/SDL_hidapi_wii.c

@@ -1163,7 +1163,9 @@ HIDAPI_DriverWii_UpdateDevice(SDL_HIDAPI_Device *device)
     }
 
     /* Request a status update periodically to make sure our battery value is up to date */
-    if (!ctx->m_unLastStatus || SDL_TICKS_PASSED(now, ctx->m_unLastStatus + FIFTEEN_MINUTES_IN_MS)) {
+    if (!ctx->m_unLastStatus ||
+        SDL_TICKS_PASSED(now, ctx->m_unLastStatus + FIFTEEN_MINUTES_IN_MS) ||
+        ctx->m_eCommState == k_eWiiCommunicationState_Error) {
         Uint8 data[2];
 
         data[0] = k_eWiiOutputReportIDs_StatusRequest;