Commit c3ecb9d099738e4e9e8bc09583e9debfb91018c5

Sam Lantinga 2022-09-02T08:48:36

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diff --git a/src/joystick/hidapi/SDL_hidapi_wii.c b/src/joystick/hidapi/SDL_hidapi_wii.c
index 3f286e7..45d2fad 100644
--- a/src/joystick/hidapi/SDL_hidapi_wii.c
+++ b/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;