Jelajahi Sumber

Make sure the HIDAPI device is locked when closing it, in case there is rumble pending that didn't complete

Sam Lantinga 5 tahun lalu
induk
melakukan
907b8eebc3
1 mengubah file dengan 2 tambahan dan 0 penghapusan
  1. 2 0
      src/joystick/hidapi/SDL_hidapijoystick.c

+ 2 - 0
src/joystick/hidapi/SDL_hidapijoystick.c

@@ -1221,7 +1221,9 @@ HIDAPI_JoystickClose(SDL_Joystick * joystick)
             SDL_LockMutex(device->dev_lock);
         }
 
+        SDL_LockMutex(device->dev_lock);
         device->driver->CloseJoystick(device, joystick);
+        SDL_UnlockMutex(device->dev_lock);
 
         SDL_free(joystick->hwdata);
         joystick->hwdata = NULL;