WiimoteReal: Fix crash on real Wii Remote disconnect on Windows caused by dangling pointer.
This commit is contained in:
parent
4705af59c6
commit
bb2c50ac94
|
@ -916,7 +916,9 @@ static void TryToConnectBalanceBoard(std::unique_ptr<Wiimote> wm)
|
||||||
static void HandleWiimoteDisconnect(int index)
|
static void HandleWiimoteDisconnect(int index)
|
||||||
{
|
{
|
||||||
Core::RunAsCPUThread([index] {
|
Core::RunAsCPUThread([index] {
|
||||||
g_wiimotes[index] = nullptr;
|
// The Wii Remote object must exist through the call to UpdateSource
|
||||||
|
// to prevent WiimoteDevice from having a dangling HIDWiimote pointer.
|
||||||
|
const auto temp_real_wiimote = std::move(g_wiimotes[index]);
|
||||||
WiimoteCommon::UpdateSource(index);
|
WiimoteCommon::UpdateSource(index);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue