diff --git a/BizHawk.Client.EmuHawk/Input/OTK_Gamepad.cs b/BizHawk.Client.EmuHawk/Input/OTK_Gamepad.cs index 91106be46a..5c800a5874 100644 --- a/BizHawk.Client.EmuHawk/Input/OTK_Gamepad.cs +++ b/BizHawk.Client.EmuHawk/Input/OTK_Gamepad.cs @@ -24,6 +24,8 @@ namespace BizHawk.Client.EmuHawk private static readonly List Devices = new List(); + volatile static bool initialized = false; + /// Initialization is only called once when MainForm loads public static void Initialize() { @@ -37,13 +39,16 @@ namespace BizHawk.Client.EmuHawk Devices.Add(new OTK_GamePad(i, ++playerCount)); } } + initialized = true; } public static IEnumerable EnumerateDevices() { lock (_syncObj) { - foreach (var device in Devices) yield return device; + if (initialized) + foreach (var device in Devices) yield return device; + } }