diff options
| author | Léo Lam <leo@leolam.fr> | 2021-09-13 15:26:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-13 15:26:02 +0200 |
| commit | ee863e67220bfb9bb96c853437f2afebdf854480 (patch) | |
| tree | c3034794ba3851647c5df91cbabd3c7aa966ec69 /Source/Core | |
| parent | 5f2a8d98fbadb62648785272bd7324583de2a64d (diff) | |
| parent | b9ad1746061b1337bcce714b9a2f56d079e31ed7 (diff) | |
Merge pull request #10014 from OatmealDome/wiimote-disconnect-crash
WiimoteReal: Fix Wiimote disconnection causing Dolphin to crash on macOS
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp b/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp index b0b03f81ab..b3c5b1f203 100644 --- a/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp +++ b/Source/Core/Core/HW/WiimoteReal/WiimoteReal.cpp @@ -280,6 +280,14 @@ void Wiimote::Read() Report rpt(MAX_PAYLOAD); auto const result = IORead(rpt.data()); + if (0 == result) + { + ERROR_LOG_FMT(WIIMOTE, "Wiimote::IORead failed. Disconnecting Wii Remote {}.", m_index + 1); + DisconnectInternal(); + + return; + } + // Drop the report if not connected. if (!m_is_linked) return; @@ -297,11 +305,6 @@ void Wiimote::Read() rpt.resize(result); m_read_reports.Push(std::move(rpt)); } - else if (0 == result) - { - ERROR_LOG_FMT(WIIMOTE, "Wiimote::IORead failed. Disconnecting Wii Remote {}.", m_index + 1); - DisconnectInternal(); - } } bool Wiimote::Write() |
