summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/OSX
diff options
context:
space:
mode:
authorMichael Maltese <michaeljosephmaltese@gmail.com>2016-10-16 13:39:05 -0700
committerMichael Maltese <michaeljosephmaltese@gmail.com>2016-11-30 16:07:55 -0800
commit3e69d066f5e9ad0a1097d806c656035398bbb7bc (patch)
treedd7ab461e209f81876a2b2145a5595812512eb6c /Source/Core/InputCommon/ControllerInterface/OSX
parentcebb4d84f2a8021a5df2ff2a9d31eba16e1cb5e5 (diff)
ControllerInterface: replace Reinitialize with RefreshDevices
The SDL backend crashes when you close a joystick after SDL_Quit has been called. Some backends don't need to be shutdown and re-initialized everytime, we can just ask to enumerate devices again.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/OSX')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/OSX/OSX.h1
-rw-r--r--Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm6
2 files changed, 7 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/OSX/OSX.h b/Source/Core/InputCommon/ControllerInterface/OSX/OSX.h
index c2104774b7..ac1db3e89a 100644
--- a/Source/Core/InputCommon/ControllerInterface/OSX/OSX.h
+++ b/Source/Core/InputCommon/ControllerInterface/OSX/OSX.h
@@ -9,6 +9,7 @@ namespace ciface
namespace OSX
{
void Init(void* window);
+void PopulateDevices(void* window);
void DeInit();
void DeviceElementDebugPrint(const void*, void*);
diff --git a/Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm b/Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm
index e575260a89..9aeeec59fb 100644
--- a/Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm
+++ b/Source/Core/InputCommon/ControllerInterface/OSX/OSX.mm
@@ -182,6 +182,12 @@ void Init(void* window)
IOHIDManagerUnscheduleFromRunLoop(HIDManager, CFRunLoopGetCurrent(), OurRunLoop);
}
+void PopulateDevices(void* window)
+{
+ DeInit();
+ Init(window);
+}
+
void DeInit()
{
// This closes all devices as well