diff --git a/BizHawk.MultiClient/Input/GamePad.cs b/BizHawk.MultiClient/Input/GamePad.cs index 2c024bebf7..596826e9d1 100644 --- a/BizHawk.MultiClient/Input/GamePad.cs +++ b/BizHawk.MultiClient/Input/GamePad.cs @@ -44,6 +44,13 @@ namespace BizHawk.MultiClient device.Update(); } + public static void CloseAll() + { + foreach (var device in Devices) + device.joystick.Dispose(); + Devices.Clear(); + } + // ********************************** Instance Members ********************************** readonly string name; diff --git a/BizHawk.MultiClient/Program.cs b/BizHawk.MultiClient/Program.cs index de9b64aee8..8a9a183127 100644 --- a/BizHawk.MultiClient/Program.cs +++ b/BizHawk.MultiClient/Program.cs @@ -84,6 +84,7 @@ namespace BizHawk.MultiClient Global.DSound.Dispose(); if (Global.Direct3D != null && Global.Direct3D.Disposed == false) Global.Direct3D.Dispose(); + GamePad.CloseAll(); } #endif }