mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-06-28 01:49:33 -06:00
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).
This commit is contained in:
@ -18,6 +18,11 @@
|
||||
#include <Windows.h>
|
||||
#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<std::weak_ptr<ciface::Core::Device>>& 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<std::weak_ptr<ciface::Core::Device>>& devices_to_remove)
|
||||
{
|
||||
SDL_JoystickUpdate();
|
||||
}
|
||||
|
Reference in New Issue
Block a user