diff src/joystick/darwin/SDL_sysjoystick.c @ 427:027ae30b867f

Date: Mon, 29 Jul 2002 15:07:22 +1000 From: screwtape@froup.com The attached patch lets SDL_Init(SDL_INIT_JOYSTICK) succeed on Mac OS X when there are no joysticks attached, in line with SDL's behaviour on Linux.
author Sam Lantinga <slouken@libsdl.org>
date Mon, 29 Jul 2002 22:26:43 +0000
parents f6ffac90895c
children 429fe382fe4f
line wrap: on
line diff
--- a/src/joystick/darwin/SDL_sysjoystick.c	Fri Jul 26 17:13:17 2002 +0000
+++ b/src/joystick/darwin/SDL_sysjoystick.c	Mon Jul 29 22:26:43 2002 +0000
@@ -609,11 +609,17 @@
 	/*/ Now search I/O Registry for matching devices. */
 	result = IOServiceGetMatchingServices (masterPort, hidMatchDictionary, &hidObjectIterator);
 	/* Check for errors */
-	if ((kIOReturnSuccess != result) || (NULL == hidObjectIterator))
+	if (kIOReturnSuccess != result)
 	{
 		SDL_SetError("Joystick: Couldn't create a HID object iterator.");
 		return -1;
 	}
+	if (NULL == hidObjectIterator) /* there are no joysticks */
+	{
+		gpDeviceList = NULL;
+		SDL_numjoysticks = 0;
+		return 0;
+	}
 	/* IOServiceGetMatchingServices consumes a reference to the dictionary, so we don't need to release the dictionary ref. */
 
 	/* build flat linked list of devices from device iterator */