diff --git a/src/haptic/darwin/SDL_syshaptic.c b/src/haptic/darwin/SDL_syshaptic.c index 1141bec76..50905e19c 100644 --- a/src/haptic/darwin/SDL_syshaptic.c +++ b/src/haptic/darwin/SDL_syshaptic.c @@ -167,7 +167,7 @@ SDL_SYS_HapticInit(void) } /* Now search I/O Registry for matching devices. */ - result = IOServiceGetMatchingServices(kIOMasterPortDefault, match, &iter); + result = IOServiceGetMatchingServices(kIOMainPortDefault, match, &iter); if (result != kIOReturnSuccess) { return SDL_SetError("Haptic: Couldn't create a HID object iterator."); } diff --git a/src/haptic/darwin/SDL_syshaptic_c.h b/src/haptic/darwin/SDL_syshaptic_c.h index f7f890a7c..5f68a6d63 100644 --- a/src/haptic/darwin/SDL_syshaptic_c.h +++ b/src/haptic/darwin/SDL_syshaptic_c.h @@ -19,6 +19,14 @@ 3. This notice may not be removed or altered from any source distribution. */ +/* Things named "Master" were renamed to "Main" in macOS 12.0's SDK. */ +#if MACOSX_COREAUDIO +#include +#ifndef MAC_OS_VERSION_12_0 +#define kIOMainPortDefault kIOMasterPortDefault +#endif +#endif + extern int MacHaptic_MaybeAddDevice( io_object_t device ); extern int MacHaptic_MaybeRemoveDevice( io_object_t device );