From a1123834a02f713ea1da8b6e83bdb5ddb0b08fa7 Mon Sep 17 00:00:00 2001 From: thefiddler Date: Sun, 5 Jan 2014 22:38:26 +0100 Subject: [PATCH] [Mac] Call DeviceRemoved() in Dispose() event The necessary cleanup code already exists in DeviceRemoved(). No need to duplicate this in the Dispose() event. --- Source/OpenTK/Platform/MacOS/HIDInput.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Source/OpenTK/Platform/MacOS/HIDInput.cs b/Source/OpenTK/Platform/MacOS/HIDInput.cs index 7454ff7e25..024d85cc1b 100755 --- a/Source/OpenTK/Platform/MacOS/HIDInput.cs +++ b/Source/OpenTK/Platform/MacOS/HIDInput.cs @@ -1545,14 +1545,17 @@ void Dispose(bool manual) foreach (var device in MouseDevices.Keys) { - NativeMethods.IOHIDDeviceRegisterInputValueCallback( - device, IntPtr.Zero, IntPtr.Zero); + DeviceRemoved(IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, device); } foreach (var device in KeyboardDevices.Keys) { - NativeMethods.IOHIDDeviceRegisterInputValueCallback( - device, IntPtr.Zero, IntPtr.Zero); + DeviceRemoved(IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, device); + } + + foreach (var device in JoystickDevices.Keys) + { + DeviceRemoved(IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, device); } HandleDeviceAdded = null;