diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2013-02-12 18:56:36 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2013-02-12 18:59:45 -0600 |
| commit | 7f305ba82288fa86fbe200036b26fd2cb219a293 (patch) | |
| tree | bcb4ff7f474d4100ec91b917cc4a435541d8e610 /Source/Core | |
| parent | 12674b3164f809814c6059b4bfdf9e800819da0c (diff) | |
Fix sloppy connection logic.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp b/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp index 34fc7e92f5..ee685aae9b 100644 --- a/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp +++ b/Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp @@ -478,15 +478,14 @@ void TryToConnectWiimote(Wiimote* wm) for (unsigned int i = 0; i != MAX_WIIMOTES; ++i) { if (WIIMOTE_SRC_REAL & g_wiimote_sources[i] - && !g_wiimotes[i] - && wm->Connect() - && wm->Prepare(i)) + && !g_wiimotes[i]) { - g_wiimotes[i] = wm; - - wm->StartThread(); - - wm = NULL; + if (wm->Connect() && wm->Prepare(i)) + { + g_wiimotes[i] = wm; + wm->StartThread(); + wm = NULL; + } break; } } @@ -508,11 +507,13 @@ void DoneWithWiimote(int index) for (unsigned int i = 0; i != MAX_WIIMOTES; ++i) { if (WIIMOTE_SRC_REAL & g_wiimote_sources[i] - && !g_wiimotes[i] - && g_wiimotes[index]->Prepare(i)) + && !g_wiimotes[i]) { - std::swap(g_wiimotes[i], g_wiimotes[index]); - g_wiimotes[i]->StartThread(); + if (g_wiimotes[index]->Prepare(i)) + { + std::swap(g_wiimotes[i], g_wiimotes[index]); + g_wiimotes[i]->StartThread(); + } break; } } |
