summaryrefslogtreecommitdiff
path: root/Source/UnitTests/Common/MathUtilTest.cpp
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2025-04-06 16:50:28 +0200
committerJosJuice <josjuice@gmail.com>2025-04-23 17:19:14 +0200
commitbda1f379b7cefa4bdc4c3b4d6210003018d0f4b4 (patch)
tree67c83cc7c5bce165cd04feb0042106fe4ec8c7a1 /Source/UnitTests/Common/MathUtilTest.cpp
parentac76deaef066ec412b5a626afc0ebed8592c18c5 (diff)
IOS: Remove from m_opened_devices in OH0::OnDeviceChange
I've been playing Rock Band 3 recently and have experienced a bug where sometimes if you disconnect and reconnect a USB microphone, the game won't pick up on it connecting, not even it you disconnect and reconnect it again. An investigation into what's going on inside Dolphin shows that when the game triggers a call to OH0::DeviceOpen after the device has been reinserted, Dolphin doesn't open the device because it's already present in m_opened_devices. Removing the device from m_opened_devices after calling OH0::TriggerHook in OH0::OnDeviceChange resolves this specific issue in my testing. Doing this matches us removing the device from m_opened_devices after calling OH0::TriggerHook in OH0::DeviceClose, but I haven't looked at exactly what real IOS does. I have been able to reproduce a much rarer issue that has the same symptoms on the surface but where OH0::DeviceOpen gets past its m_opened_devices check. I'm currently not sure what the cause of this remaining issue is.
Diffstat (limited to 'Source/UnitTests/Common/MathUtilTest.cpp')
0 files changed, 0 insertions, 0 deletions