Explorar o código

Lock joysticks when adding gamepad mappings

Fixes https://github.com/libsdl-org/SDL/issues/8412
Sam Lantinga %!s(int64=2) %!d(string=hai) anos
pai
achega
70fd8e2ba2
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      src/joystick/SDL_gamepad.c

+ 4 - 0
src/joystick/SDL_gamepad.c

@@ -1670,6 +1670,8 @@ int SDL_AddGamepadMappingsFromRW(SDL_RWops *src, SDL_bool freesrc)
     }
     }
     line = buf;
     line = buf;
 
 
+    SDL_LockJoysticks();
+
     PushMappingChangeTracking();
     PushMappingChangeTracking();
 
 
     while (line < buf + db_size) {
     while (line < buf + db_size) {
@@ -1702,6 +1704,8 @@ int SDL_AddGamepadMappingsFromRW(SDL_RWops *src, SDL_bool freesrc)
 
 
     PopMappingChangeTracking();
     PopMappingChangeTracking();
 
 
+    SDL_UnlockJoysticks();
+
     SDL_free(buf);
     SDL_free(buf);
     return gamepads;
     return gamepads;
 }
 }