summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2013-02-12 18:56:36 -0600
committerJordan Woyak <jordan.woyak@gmail.com>2013-02-12 18:59:45 -0600
commit7f305ba82288fa86fbe200036b26fd2cb219a293 (patch)
treebcb4ff7f474d4100ec91b917cc4a435541d8e610 /Source/Core
parent12674b3164f809814c6059b4bfdf9e800819da0c (diff)
Fix sloppy connection logic.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/HW/WiimoteReal/WiimoteReal.cpp25
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;
}
}