Browse Source

Ignore sensor delta values that look like they're out of range

Sam Lantinga 1 month ago
parent
commit
afa27243df
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/joystick/hidapi/SDL_hidapi_8bitdo.c

+ 4 - 1
src/joystick/hidapi/SDL_hidapi_8bitdo.c

@@ -589,7 +589,10 @@ static void HIDAPI_Driver8BitDo_HandleStatePacket(SDL_Joystick *joystick, SDL_Dr
                 } else {
                 } else {
                     delta = (SDL_MAX_UINT32 - ctx->last_tick + tick + 1);
                     delta = (SDL_MAX_UINT32 - ctx->last_tick + tick + 1);
                 }
                 }
-                ctx->sensor_timestamp_interval = SDL_US_TO_NS(delta);
+                // Sanity check the delta value
+                if (delta < 100000) {
+                    ctx->sensor_timestamp_interval = SDL_US_TO_NS(delta);
+                }
             }
             }
             ctx->last_tick = tick;
             ctx->last_tick = tick;
         }
         }