summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/GCAdapter.cpp
diff options
context:
space:
mode:
authorMat M <mathew1800@gmail.com>2016-05-13 21:36:51 -0400
committerMat M <mathew1800@gmail.com>2016-05-13 21:36:51 -0400
commite5bafeb40a1fb8d10d1bcfe001c6a40c3cad6633 (patch)
treed103db72743ad17c8e3840385a467381fd85baf4 /Source/Core/InputCommon/GCAdapter.cpp
parente319ac0561711a9e3468ceb02f46ce4a631a2c14 (diff)
parent8f0cbefbe57762de92284ef151e984f52ec8d7e6 (diff)
Merge pull request #3821 from mathieui/gcadapter-no-device
Fix a hang with the GC Adapter
Diffstat (limited to 'Source/Core/InputCommon/GCAdapter.cpp')
-rw-r--r--Source/Core/InputCommon/GCAdapter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/Core/InputCommon/GCAdapter.cpp b/Source/Core/InputCommon/GCAdapter.cpp
index eceed1ed0b..df71a8d846 100644
--- a/Source/Core/InputCommon/GCAdapter.cpp
+++ b/Source/Core/InputCommon/GCAdapter.cpp
@@ -12,6 +12,7 @@
#include "Core/ConfigManager.h"
#include "Core/Core.h"
#include "Core/CoreTiming.h"
+#include "Core/NetPlayProto.h"
#include "Core/HW/SI.h"
#include "Core/HW/SystemTimers.h"
@@ -417,8 +418,11 @@ void Input(int chan, GCPadStatus* pad)
pad->triggerLeft = controller_payload_copy[1 + (9 * chan) + 7];
pad->triggerRight = controller_payload_copy[1 + (9 * chan) + 8];
}
- else
+ else if (!NetPlay::IsNetPlayRunning())
{
+ // This is a hack to prevent a netplay desync due to SI devices
+ // being different and returning different values.
+ // The corresponding code in DeviceGCAdapter has the same check
pad->button = PAD_ERR_STATUS;
}
}