From e456bef163c1b667ff5a045a4bda66b30326ae90 Mon Sep 17 00:00:00 2001 From: Filoppi Date: Wed, 24 May 2023 22:58:30 +0300 Subject: Input: Improve Controller Interface devices threading This specific issue was already addressed by https://github.com/dolphin-emu/dolphin/pull/11635 though I felt like there was something more we could do, and wasn't too happy with the likelihood of devices update calls being skipped (due to `m_devices_population_mutex` being locked). --- Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'Source/Core/InputCommon/ControllerInterface/SDL') diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp index ac0123aedd..3bf4020ad5 100644 --- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp +++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp @@ -18,6 +18,11 @@ #include #endif +namespace ciface::Core +{ +class Device; +} + namespace ciface::SDL { static std::string GetJoystickName(int index) @@ -35,7 +40,7 @@ public: InputBackend(ControllerInterface* controller_interface); ~InputBackend(); void PopulateDevices() override; - void UpdateInput() override; + void UpdateInput(std::vector>& devices_to_remove) override; private: void OpenAndAddDevice(int index); @@ -637,7 +642,7 @@ void Joystick::Motor::SetState(ControlState state) } #endif -void InputBackend::UpdateInput() +void InputBackend::UpdateInput(std::vector>& devices_to_remove) { SDL_JoystickUpdate(); } -- cgit v1.2.3