libobs: Use IOKit error code when polling hotkeys (OSX)

In case a system authentication prompt is open the actual error code
(via err_get_code) is kIOReturnExclusiveAccess on OSX 10.9; I'm not
100% sure if this makes the "if (!value)" part of the code obsolete,
but that code path shouldn't be triggered under most circumstances
anyway

Fixes https://obsproject.com/mantis/view.php?id=346
master
Palana 2015-10-07 10:57:13 +02:00
parent 667768b96b
commit 74e4c33756
1 changed files with 6 additions and 1 deletions

View File

@ -1319,7 +1319,12 @@ bool obs_hotkeys_platform_is_pressed(obs_hotkeys_platform_t *plat,
IOHIDElementRef element = plat->keys[key].array[i];
IOHIDValueRef value = 0;
IOHIDDeviceRef device = IOHIDElementGetDevice(element);
IOHIDDeviceGetValue(device, element, &value);
if (IOHIDDeviceGetValue(device, element, &value) !=
kIOReturnSuccess) {
i += 1;
continue;
}
if (!value) {
CFRelease(element);