dolphin-emulator/Source/Core
JosJuice bda1f379b7 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.
2025-04-23 17:19:14 +02:00
..
AudioCommon AudioCommon: Make cubeb sound backend default on Linux. 2025-04-21 16:25:40 -05:00
Common Merge pull request #13529 from jordan-woyak/StateBuffer 2025-04-22 16:30:51 -05:00
Core IOS: Remove from m_opened_devices in OH0::OnDeviceChange 2025-04-23 17:19:14 +02:00
DiscIO Implement Triforce ID parsing 2025-04-21 22:05:25 +10:00
DolphinNoGUI Merge pull request #13181 from tygyh/Replace-'reinterpret_cast' 2025-03-15 15:31:38 +01:00
DolphinQt Merge pull request #12949 from LillyJadeKatrin/retroachievements-new-dev-branch 2025-04-21 14:08:40 -04:00
DolphinTool GCC: Remedy NRVO Fails 2025-03-10 12:38:03 -07:00
InputCommon InputCommon: Activate IMU Accelerometer and Gyroscope when any direction has a bound input. 2025-04-10 15:55:49 -05:00
MacUpdater Simplify std::find_if with std::ranges::find and projections 2025-03-09 13:26:35 -07:00
UICommon Merge pull request #13474 from JosJuice/rock-band-playstation 2025-04-22 16:02:16 -05:00
UpdaterCommon Simplify std::copy with std::copy_n 2024-10-07 15:34:56 -07:00
VideoBackends MTLUtil: Remove availability check for iOS 13 2025-04-21 00:24:58 -04:00
VideoCommon BPStructs: Add TODO for unsafe usage of GetTicks. 2025-04-08 19:58:31 -05:00
WinUpdater Simplify std::find_if with std::ranges::find and projections 2025-03-09 13:26:35 -07:00
CMakeLists.txt CMakeLists: Embed macOS Updater app inside DolphinQt 2024-08-01 22:06:55 -04:00
DolphinLib.ARM64.props
DolphinLib.props Merge pull request #13529 from jordan-woyak/StateBuffer 2025-04-22 16:30:51 -05:00
DolphinLib.vcxproj AudioCommon: Added Granular Synthesis 2025-03-14 01:22:35 -05:00
DolphinLib.vcxproj.user
DolphinLib.x64.props
VersionInfo.plist.in ScmRevGen: Don't generate Info.plist files directly 2024-12-05 14:56:08 -05:00