Просмотр исходного кода

Fixed divide by zero handling Nintendo Switch 2 controller

Sam Lantinga 1 месяц назад
Родитель
Сommit
b1362f8a42
1 измененных файлов с 5 добавлено и 1 удалено
  1. 5 1
      src/joystick/hidapi/SDL_hidapi_switch2.c

+ 5 - 1
src/joystick/hidapi/SDL_hidapi_switch2.c

@@ -1162,10 +1162,14 @@ static void HIDAPI_DriverSwitch2_HandleStatePacket(SDL_HIDAPI_Device *device, SD
                 ctx->sensor_ts_coeff = 10000;
                 ctx->gyro_coeff = 34.8f;
                 ctx->sensors_ready = true;
-            } else {
+            } else if (coeff != 0) {
                 ctx->sensor_ts_coeff = 10000000000 / coeff;
                 ctx->gyro_coeff = 40.0f;
                 ctx->sensors_ready = true;
+            } else {
+                // Didn't get a valid reading, try again
+                ctx->first_sensor_timestamp = 0;
+                ctx->sample_count = 0;
             }
 
             if (ctx->sensors_ready && !ctx->sensors_enabled) {