diff options
| author | Vlad Firoiu <vladfi2@gmail.com> | 2026-04-30 18:26:38 -0400 |
|---|---|---|
| committer | Vlad Firoiu <vladfi2@gmail.com> | 2026-05-06 15:57:03 -0400 |
| commit | 20718de37e7a109db046a2f0663f90cf6b45f0e8 (patch) | |
| tree | d74fd006df4c3724d7295e744e974b782214a1ae /Source/Core | |
| parent | 1907ffa45db050da0a9c9091a09a5fc9e71d6172 (diff) | |
Unconditionally lock in ControllerInterface::UpdateInput.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp index 9dd8cdb6a9..20fd517b2d 100644 --- a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp +++ b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp @@ -319,7 +319,7 @@ void ControllerInterface::RemoveDevice(std::function<bool(const ciface::Core::De InvokeDevicesChangedCallbacks(); } -// Update input for all devices if lock can be acquired without waiting. +// Update input for all devices. void ControllerInterface::UpdateInput() { // This should never happen @@ -337,13 +337,7 @@ void ControllerInterface::UpdateInput() std::vector<std::weak_ptr<ciface::Core::Device>> devices_to_remove; { - // TODO: if we are an emulation input channel, we should probably always lock. - // Prefer outdated values over blocking UI or CPU thread (this avoids short but noticeable frame - // drops) - if (!m_devices_mutex.try_lock()) - return; - - std::lock_guard lk_devices(m_devices_mutex, std::adopt_lock); + std::lock_guard lk_devices(m_devices_mutex); tls_is_updating_devices = true; |
