mirror of
				https://github.com/Ryujinx/SDL.git
				synced 2025-11-04 13:44:50 +00:00 
			
		
		
		
	Added SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved()
Updated the removal code to iterate over all joystick add messages instead of just the first one.
This commit is contained in:
		
							parent
							
								
									c69bce6774
								
							
						
					
					
						commit
						ad1bfea5a0
					
				| 
						 | 
					@ -105,6 +105,35 @@ struct _SDL_GameController
 | 
				
			||||||
int SDL_PrivateGameControllerAxis(SDL_GameController * gamecontroller, SDL_GameControllerAxis axis, Sint16 value);
 | 
					int SDL_PrivateGameControllerAxis(SDL_GameController * gamecontroller, SDL_GameControllerAxis axis, Sint16 value);
 | 
				
			||||||
int SDL_PrivateGameControllerButton(SDL_GameController * gamecontroller, SDL_GameControllerButton button, Uint8 state);
 | 
					int SDL_PrivateGameControllerButton(SDL_GameController * gamecontroller, SDL_GameControllerButton button, Uint8 state);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * If there is an existing add event in the queue, it needs to be modified
 | 
				
			||||||
 | 
					 * to have the right value for which, because the number of controllers in
 | 
				
			||||||
 | 
					 * the system is now one less.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void UpdateEventsForDeviceRemoval()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    int i, num_events;
 | 
				
			||||||
 | 
					    SDL_Event *events;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    num_events = SDL_PeepEvents(NULL, 0, SDL_PEEKEVENT, SDL_CONTROLLERDEVICEADDED, SDL_CONTROLLERDEVICEADDED);
 | 
				
			||||||
 | 
					    if (num_events <= 0) {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    events = SDL_stack_alloc(SDL_Event, num_events);
 | 
				
			||||||
 | 
					    if (!events) {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    num_events = SDL_PeepEvents(events, num_events, SDL_GETEVENT, SDL_CONTROLLERDEVICEADDED, SDL_CONTROLLERDEVICEADDED);
 | 
				
			||||||
 | 
					    for (i = 0; i < num_events; ++i) {
 | 
				
			||||||
 | 
					        --events[i].cdevice.which;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    SDL_PeepEvents(events, num_events, SDL_ADDEVENT, 0, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SDL_stack_free(events);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Event filter to fire controller events from joystick ones
 | 
					 * Event filter to fire controller events from joystick ones
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					@ -222,22 +251,13 @@ int SDL_GameControllerEventWatcher(void *userdata, SDL_Event * event)
 | 
				
			||||||
            SDL_GameController *controllerlist = SDL_gamecontrollers;
 | 
					            SDL_GameController *controllerlist = SDL_gamecontrollers;
 | 
				
			||||||
            while (controllerlist) {
 | 
					            while (controllerlist) {
 | 
				
			||||||
                if (controllerlist->joystick->instance_id == event->jdevice.which) {
 | 
					                if (controllerlist->joystick->instance_id == event->jdevice.which) {
 | 
				
			||||||
					SDL_Event peeped;
 | 
					 | 
				
			||||||
                    SDL_Event deviceevent;
 | 
					                    SDL_Event deviceevent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					/* If there is an existing add event in the queue, it
 | 
					 | 
				
			||||||
					 * needs to be modified to have the right value for which,
 | 
					 | 
				
			||||||
					 * because the number of controllers in the system is now
 | 
					 | 
				
			||||||
					 * one less.
 | 
					 | 
				
			||||||
					 */
 | 
					 | 
				
			||||||
					if ( SDL_PeepEvents(&peeped, 1, SDL_GETEVENT, SDL_CONTROLLERDEVICEADDED, SDL_CONTROLLERDEVICEADDED) > 0) {
 | 
					 | 
				
			||||||
						peeped.jdevice.which--;
 | 
					 | 
				
			||||||
						SDL_PushEvent(&peeped);
 | 
					 | 
				
			||||||
					}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    deviceevent.type = SDL_CONTROLLERDEVICEREMOVED;
 | 
					                    deviceevent.type = SDL_CONTROLLERDEVICEREMOVED;
 | 
				
			||||||
                    deviceevent.cdevice.which = event->jdevice.which;
 | 
					                    deviceevent.cdevice.which = event->jdevice.which;
 | 
				
			||||||
                    SDL_PushEvent(&deviceevent);
 | 
					                    SDL_PushEvent(&deviceevent);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    UpdateEventsForDeviceRemoval();
 | 
				
			||||||
                    break;
 | 
					                    break;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                controllerlist = controllerlist->next;
 | 
					                controllerlist = controllerlist->next;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -497,6 +497,71 @@ SDL_PrivateJoystickShouldIgnoreEvent()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* These are global for SDL_sysjoystick.c and SDL_events.c */
 | 
					/* These are global for SDL_sysjoystick.c and SDL_events.c */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void SDL_PrivateJoystickAdded(int device_index)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					#if !SDL_EVENTS_DISABLED
 | 
				
			||||||
 | 
					    SDL_Event event;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    event.type = SDL_JOYDEVICEADDED;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
				
			||||||
 | 
					        event.jdevice.which = device_index;
 | 
				
			||||||
 | 
					        if ( (SDL_EventOK == NULL) ||
 | 
				
			||||||
 | 
					             (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
				
			||||||
 | 
					            SDL_PushEvent(&event);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					#endif /* !SDL_EVENTS_DISABLED */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * If there is an existing add event in the queue, it needs to be modified
 | 
				
			||||||
 | 
					 * to have the right value for which, because the number of controllers in
 | 
				
			||||||
 | 
					 * the system is now one less.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void UpdateEventsForDeviceRemoval()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    int i, num_events;
 | 
				
			||||||
 | 
					    SDL_Event *events;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    num_events = SDL_PeepEvents(NULL, 0, SDL_PEEKEVENT, SDL_JOYDEVICEADDED, SDL_JOYDEVICEADDED);
 | 
				
			||||||
 | 
					    if (num_events <= 0) {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    events = SDL_stack_alloc(SDL_Event, num_events);
 | 
				
			||||||
 | 
					    if (!events) {
 | 
				
			||||||
 | 
					        return;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    num_events = SDL_PeepEvents(events, num_events, SDL_GETEVENT, SDL_JOYDEVICEADDED, SDL_JOYDEVICEADDED);
 | 
				
			||||||
 | 
					    for (i = 0; i < num_events; ++i) {
 | 
				
			||||||
 | 
					        --events[i].jdevice.which;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    SDL_PeepEvents(events, num_events, SDL_ADDEVENT, 0, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SDL_stack_free(events);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void SDL_PrivateJoystickRemoved(SDL_JoystickID device_instance)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					#if !SDL_EVENTS_DISABLED
 | 
				
			||||||
 | 
					    SDL_Event event;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    event.type = SDL_JOYDEVICEREMOVED;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
				
			||||||
 | 
					        event.jdevice.which = device_instance;
 | 
				
			||||||
 | 
					        if ( (SDL_EventOK == NULL) ||
 | 
				
			||||||
 | 
					             (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
				
			||||||
 | 
					            SDL_PushEvent(&event);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    UpdateEventsForDeviceRemoval();
 | 
				
			||||||
 | 
					#endif /* !SDL_EVENTS_DISABLED */
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int
 | 
					int
 | 
				
			||||||
SDL_PrivateJoystickAxis(SDL_Joystick * joystick, Uint8 axis, Sint16 value)
 | 
					SDL_PrivateJoystickAxis(SDL_Joystick * joystick, Uint8 axis, Sint16 value)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,6 +33,8 @@ extern void SDL_GameControllerQuit(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Internal event queueing functions */
 | 
					/* Internal event queueing functions */
 | 
				
			||||||
 | 
					extern void SDL_PrivateJoystickAdded(int device_index);
 | 
				
			||||||
 | 
					extern void SDL_PrivateJoystickRemoved(SDL_JoystickID device_instance);
 | 
				
			||||||
extern int SDL_PrivateJoystickAxis(SDL_Joystick * joystick,
 | 
					extern int SDL_PrivateJoystickAxis(SDL_Joystick * joystick,
 | 
				
			||||||
                                   Uint8 axis, Sint16 value);
 | 
					                                   Uint8 axis, Sint16 value);
 | 
				
			||||||
extern int SDL_PrivateJoystickBall(SDL_Joystick * joystick,
 | 
					extern int SDL_PrivateJoystickBall(SDL_Joystick * joystick,
 | 
				
			||||||
| 
						 | 
					@ -41,8 +43,8 @@ extern int SDL_PrivateJoystickHat(SDL_Joystick * joystick,
 | 
				
			||||||
                                  Uint8 hat, Uint8 value);
 | 
					                                  Uint8 hat, Uint8 value);
 | 
				
			||||||
extern int SDL_PrivateJoystickButton(SDL_Joystick * joystick,
 | 
					extern int SDL_PrivateJoystickButton(SDL_Joystick * joystick,
 | 
				
			||||||
                                     Uint8 button, Uint8 state);
 | 
					                                     Uint8 button, Uint8 state);
 | 
				
			||||||
extern void SDL_PrivateJoystickBatteryLevel( SDL_Joystick * joystick,
 | 
					extern void SDL_PrivateJoystickBatteryLevel(SDL_Joystick * joystick,
 | 
				
			||||||
    SDL_JoystickPowerLevel ePowerLevel );
 | 
					                                            SDL_JoystickPowerLevel ePowerLevel);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Internal sanity checking functions */
 | 
					/* Internal sanity checking functions */
 | 
				
			||||||
extern int SDL_PrivateJoystickValid(SDL_Joystick * joystick);
 | 
					extern int SDL_PrivateJoystickValid(SDL_Joystick * joystick);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,10 +27,6 @@
 | 
				
			||||||
#include "SDL_error.h"
 | 
					#include "SDL_error.h"
 | 
				
			||||||
#include "SDL_events.h"
 | 
					#include "SDL_events.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
#include "../../events/SDL_events_c.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "SDL_joystick.h"
 | 
					#include "SDL_joystick.h"
 | 
				
			||||||
#include "SDL_hints.h"
 | 
					#include "SDL_hints.h"
 | 
				
			||||||
#include "SDL_assert.h"
 | 
					#include "SDL_assert.h"
 | 
				
			||||||
| 
						 | 
					@ -252,9 +248,6 @@ Android_AddJoystick(int device_id, const char *name, SDL_bool is_accelerometer,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickGUID guid;
 | 
					    SDL_JoystickGUID guid;
 | 
				
			||||||
    SDL_joylist_item *item;
 | 
					    SDL_joylist_item *item;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    if(JoystickByDeviceId(device_id) != NULL || name == NULL) {
 | 
					    if(JoystickByDeviceId(device_id) != NULL || name == NULL) {
 | 
				
			||||||
        return -1;
 | 
					        return -1;
 | 
				
			||||||
| 
						 | 
					@ -299,17 +292,7 @@ Android_AddJoystick(int device_id, const char *name, SDL_bool is_accelerometer,
 | 
				
			||||||
    /* Need to increment the joystick count before we post the event */
 | 
					    /* Need to increment the joystick count before we post the event */
 | 
				
			||||||
    ++numjoysticks;
 | 
					    ++numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					    SDL_PrivateJoystickAdded(numjoysticks - 1);
 | 
				
			||||||
    event.type = SDL_JOYDEVICEADDED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
        event.jdevice.which = (numjoysticks - 1);
 | 
					 | 
				
			||||||
        if ( (SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
             (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
					 | 
				
			||||||
            SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG_JOYSTICK
 | 
					#ifdef DEBUG_JOYSTICK
 | 
				
			||||||
    SDL_Log("Added joystick %s with device_id %d", name, device_id);
 | 
					    SDL_Log("Added joystick %s with device_id %d", name, device_id);
 | 
				
			||||||
| 
						 | 
					@ -323,9 +306,6 @@ Android_RemoveJoystick(int device_id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_joylist_item *item = SDL_joylist;
 | 
					    SDL_joylist_item *item = SDL_joylist;
 | 
				
			||||||
    SDL_joylist_item *prev = NULL;
 | 
					    SDL_joylist_item *prev = NULL;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    /* Don't call JoystickByDeviceId here or there'll be an infinite loop! */
 | 
					    /* Don't call JoystickByDeviceId here or there'll be an infinite loop! */
 | 
				
			||||||
    while (item != NULL) {
 | 
					    while (item != NULL) {
 | 
				
			||||||
| 
						 | 
					@ -357,17 +337,7 @@ Android_RemoveJoystick(int device_id)
 | 
				
			||||||
    /* Need to decrement the joystick count before we post the event */
 | 
					    /* Need to decrement the joystick count before we post the event */
 | 
				
			||||||
    --numjoysticks;
 | 
					    --numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					    SDL_PrivateJoystickRemoved(item->device_instance);
 | 
				
			||||||
    event.type = SDL_JOYDEVICEREMOVED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
        event.jdevice.which = item->device_instance;
 | 
					 | 
				
			||||||
        if ( (SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
             (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
					 | 
				
			||||||
            SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG_JOYSTICK
 | 
					#ifdef DEBUG_JOYSTICK
 | 
				
			||||||
    SDL_Log("Removed joystick with device_id %d", device_id);
 | 
					    SDL_Log("Removed joystick with device_id %d", device_id);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,9 +34,6 @@
 | 
				
			||||||
#include "SDL_sysjoystick_c.h"
 | 
					#include "SDL_sysjoystick_c.h"
 | 
				
			||||||
#include "SDL_events.h"
 | 
					#include "SDL_events.h"
 | 
				
			||||||
#include "../../haptic/darwin/SDL_syshaptic_c.h"    /* For haptic hot plugging */
 | 
					#include "../../haptic/darwin/SDL_syshaptic_c.h"    /* For haptic hot plugging */
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
#include "../../events/SDL_events_c.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define SDL_JOYSTICK_RUNLOOP_MODE CFSTR("SDLJoystick")
 | 
					#define SDL_JOYSTICK_RUNLOOP_MODE CFSTR("SDLJoystick")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -154,21 +151,7 @@ JoystickDeviceWasRemovedCallback(void *ctx, IOReturn result, void *sender)
 | 
				
			||||||
    MacHaptic_MaybeRemoveDevice(device->ffservice);
 | 
					    MacHaptic_MaybeRemoveDevice(device->ffservice);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* !!! FIXME: why isn't there an SDL_PrivateJoyDeviceRemoved()? */
 | 
					    SDL_PrivateJoystickRemoved(device->instance_id);
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        SDL_Event event;
 | 
					 | 
				
			||||||
        event.type = SDL_JOYDEVICEREMOVED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
            event.jdevice.which = device->instance_id;
 | 
					 | 
				
			||||||
            if ((SDL_EventOK == NULL)
 | 
					 | 
				
			||||||
                || (*SDL_EventOK) (SDL_EventOKParam, &event)) {
 | 
					 | 
				
			||||||
                SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -476,21 +459,7 @@ JoystickDeviceWasAddedCallback(void *ctx, IOReturn res, void *sender, IOHIDDevic
 | 
				
			||||||
        ++device_index;  /* bump by one since we counted by pNext. */
 | 
					        ++device_index;  /* bump by one since we counted by pNext. */
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* !!! FIXME: why isn't there an SDL_PrivateJoyDeviceAdded()? */
 | 
					    SDL_PrivateJoystickAdded(device_index);
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        SDL_Event event;
 | 
					 | 
				
			||||||
        event.type = SDL_JOYDEVICEADDED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
            event.jdevice.which = device_index;
 | 
					 | 
				
			||||||
            if ((SDL_EventOK == NULL)
 | 
					 | 
				
			||||||
                || (*SDL_EventOK) (SDL_EventOKParam, &event)) {
 | 
					 | 
				
			||||||
                SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static SDL_bool
 | 
					static SDL_bool
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,10 +27,6 @@
 | 
				
			||||||
#include "SDL_error.h"
 | 
					#include "SDL_error.h"
 | 
				
			||||||
#include "SDL_events.h"
 | 
					#include "SDL_events.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
#include "../../events/SDL_events_c.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "SDL_joystick.h"
 | 
					#include "SDL_joystick.h"
 | 
				
			||||||
#include "SDL_hints.h"
 | 
					#include "SDL_hints.h"
 | 
				
			||||||
#include "SDL_assert.h"
 | 
					#include "SDL_assert.h"
 | 
				
			||||||
| 
						 | 
					@ -57,10 +53,6 @@ Emscripten_JoyStickConnected(int eventType, const EmscriptenGamepadEvent *gamepa
 | 
				
			||||||
      return 1;
 | 
					      return 1;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    item = (SDL_joylist_item *) SDL_malloc(sizeof (SDL_joylist_item));
 | 
					    item = (SDL_joylist_item *) SDL_malloc(sizeof (SDL_joylist_item));
 | 
				
			||||||
    if (item == NULL) {
 | 
					    if (item == NULL) {
 | 
				
			||||||
        return 1;
 | 
					        return 1;
 | 
				
			||||||
| 
						 | 
					@ -105,20 +97,12 @@ Emscripten_JoyStickConnected(int eventType, const EmscriptenGamepadEvent *gamepa
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ++numjoysticks;
 | 
					    ++numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    SDL_PrivateJoystickAdded(numjoysticks - 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG_JOYSTICK
 | 
					#ifdef DEBUG_JOYSTICK
 | 
				
			||||||
    SDL_Log("Number of joysticks is %d", numjoysticks);
 | 
					    SDL_Log("Number of joysticks is %d", numjoysticks);
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    event.type = SDL_JOYDEVICEADDED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
        event.jdevice.which = numjoysticks - 1;
 | 
					 | 
				
			||||||
        if ( (SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
             (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
					 | 
				
			||||||
            SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG_JOYSTICK
 | 
					#ifdef DEBUG_JOYSTICK
 | 
				
			||||||
    SDL_Log("Added joystick with index %d", item->index);
 | 
					    SDL_Log("Added joystick with index %d", item->index);
 | 
				
			||||||
| 
						 | 
					@ -132,9 +116,6 @@ Emscripten_JoyStickDisconnected(int eventType, const EmscriptenGamepadEvent *gam
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_joylist_item *item = SDL_joylist;
 | 
					    SDL_joylist_item *item = SDL_joylist;
 | 
				
			||||||
    SDL_joylist_item *prev = NULL;
 | 
					    SDL_joylist_item *prev = NULL;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (item != NULL) {
 | 
					    while (item != NULL) {
 | 
				
			||||||
        if (item->index == gamepadEvent->index) {
 | 
					        if (item->index == gamepadEvent->index) {
 | 
				
			||||||
| 
						 | 
					@ -165,17 +146,7 @@ Emscripten_JoyStickDisconnected(int eventType, const EmscriptenGamepadEvent *gam
 | 
				
			||||||
    /* Need to decrement the joystick count before we post the event */
 | 
					    /* Need to decrement the joystick count before we post the event */
 | 
				
			||||||
    --numjoysticks;
 | 
					    --numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
						SDL_PrivateJoystickRemoved(item->device_instance);
 | 
				
			||||||
    event.type = SDL_JOYDEVICEREMOVED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
        event.jdevice.which = item->device_instance;
 | 
					 | 
				
			||||||
        if ( (SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
             (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
					 | 
				
			||||||
            SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DEBUG_JOYSTICK
 | 
					#ifdef DEBUG_JOYSTICK
 | 
				
			||||||
    SDL_Log("Removed joystick with id %d", item->device_instance);
 | 
					    SDL_Log("Removed joystick with id %d", item->device_instance);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -32,10 +32,6 @@
 | 
				
			||||||
#include "../SDL_sysjoystick.h"
 | 
					#include "../SDL_sysjoystick.h"
 | 
				
			||||||
#include "../SDL_joystick_c.h"
 | 
					#include "../SDL_joystick_c.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
#include "../../events/SDL_events_c.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#import <CoreMotion/CoreMotion.h>
 | 
					#import <CoreMotion/CoreMotion.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef SDL_JOYSTICK_MFI
 | 
					#ifdef SDL_JOYSTICK_MFI
 | 
				
			||||||
| 
						 | 
					@ -127,9 +123,6 @@ static void
 | 
				
			||||||
SDL_SYS_AddJoystickDevice(GCController *controller, SDL_bool accelerometer)
 | 
					SDL_SYS_AddJoystickDevice(GCController *controller, SDL_bool accelerometer)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_JoystickDeviceItem *device = deviceList;
 | 
					    SDL_JoystickDeviceItem *device = deviceList;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    while (device != NULL) {
 | 
					    while (device != NULL) {
 | 
				
			||||||
        if (device->controller == controller) {
 | 
					        if (device->controller == controller) {
 | 
				
			||||||
| 
						 | 
					@ -172,17 +165,7 @@ SDL_SYS_AddJoystickDevice(GCController *controller, SDL_bool accelerometer)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ++numjoysticks;
 | 
					    ++numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					    SDL_PrivateJoystickAdded(numjoysticks - 1);
 | 
				
			||||||
    event.type = SDL_JOYDEVICEADDED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
        event.jdevice.which = numjoysticks - 1;
 | 
					 | 
				
			||||||
        if ((SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
            (*SDL_EventOK)(SDL_EventOKParam, &event)) {
 | 
					 | 
				
			||||||
            SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static SDL_JoystickDeviceItem *
 | 
					static SDL_JoystickDeviceItem *
 | 
				
			||||||
| 
						 | 
					@ -191,9 +174,6 @@ SDL_SYS_RemoveJoystickDevice(SDL_JoystickDeviceItem *device)
 | 
				
			||||||
    SDL_JoystickDeviceItem *prev = NULL;
 | 
					    SDL_JoystickDeviceItem *prev = NULL;
 | 
				
			||||||
    SDL_JoystickDeviceItem *next = NULL;
 | 
					    SDL_JoystickDeviceItem *next = NULL;
 | 
				
			||||||
    SDL_JoystickDeviceItem *item = deviceList;
 | 
					    SDL_JoystickDeviceItem *item = deviceList;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (device == NULL) {
 | 
					    if (device == NULL) {
 | 
				
			||||||
        return NULL;
 | 
					        return NULL;
 | 
				
			||||||
| 
						 | 
					@ -234,17 +214,7 @@ SDL_SYS_RemoveJoystickDevice(SDL_JoystickDeviceItem *device)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    --numjoysticks;
 | 
					    --numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
						SDL_PrivateJoystickRemoved(device->instance_id);
 | 
				
			||||||
    event.type = SDL_JOYDEVICEREMOVED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
        event.jdevice.which = device->instance_id;
 | 
					 | 
				
			||||||
        if ((SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
            (*SDL_EventOK)(SDL_EventOKParam, &event)) {
 | 
					 | 
				
			||||||
            SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    SDL_free(device->name);
 | 
					    SDL_free(device->name);
 | 
				
			||||||
    SDL_free(device);
 | 
					    SDL_free(device);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,11 +42,6 @@
 | 
				
			||||||
#include "../SDL_joystick_c.h"
 | 
					#include "../SDL_joystick_c.h"
 | 
				
			||||||
#include "SDL_sysjoystick_c.h"
 | 
					#include "SDL_sysjoystick_c.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* !!! FIXME: move this somewhere else. */
 | 
					 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
#include "../../events/SDL_events_c.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/* This isn't defined in older Linux kernel headers */
 | 
					/* This isn't defined in older Linux kernel headers */
 | 
				
			||||||
#ifndef SYN_DROPPED
 | 
					#ifndef SYN_DROPPED
 | 
				
			||||||
#define SYN_DROPPED 3
 | 
					#define SYN_DROPPED 3
 | 
				
			||||||
| 
						 | 
					@ -176,9 +171,6 @@ MaybeAddDevice(const char *path)
 | 
				
			||||||
    char namebuf[128];
 | 
					    char namebuf[128];
 | 
				
			||||||
    SDL_JoystickGUID guid;
 | 
					    SDL_JoystickGUID guid;
 | 
				
			||||||
    SDL_joylist_item *item;
 | 
					    SDL_joylist_item *item;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (path == NULL) {
 | 
					    if (path == NULL) {
 | 
				
			||||||
        return -1;
 | 
					        return -1;
 | 
				
			||||||
| 
						 | 
					@ -239,18 +231,7 @@ MaybeAddDevice(const char *path)
 | 
				
			||||||
    /* Need to increment the joystick count before we post the event */
 | 
					    /* Need to increment the joystick count before we post the event */
 | 
				
			||||||
    ++numjoysticks;
 | 
					    ++numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* !!! FIXME: Move this to an SDL_PrivateJoyDeviceAdded() function? */
 | 
					    SDL_PrivateJoystickAdded(numjoysticks - 1);
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    event.type = SDL_JOYDEVICEADDED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
        event.jdevice.which = (numjoysticks - 1);
 | 
					 | 
				
			||||||
        if ( (SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
             (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
					 | 
				
			||||||
            SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return numjoysticks;
 | 
					    return numjoysticks;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -262,9 +243,6 @@ MaybeRemoveDevice(const char *path)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    SDL_joylist_item *item;
 | 
					    SDL_joylist_item *item;
 | 
				
			||||||
    SDL_joylist_item *prev = NULL;
 | 
					    SDL_joylist_item *prev = NULL;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (path == NULL) {
 | 
					    if (path == NULL) {
 | 
				
			||||||
        return -1;
 | 
					        return -1;
 | 
				
			||||||
| 
						 | 
					@ -290,30 +268,7 @@ MaybeRemoveDevice(const char *path)
 | 
				
			||||||
            /* Need to decrement the joystick count before we post the event */
 | 
					            /* Need to decrement the joystick count before we post the event */
 | 
				
			||||||
            --numjoysticks;
 | 
					            --numjoysticks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            /* !!! FIXME: Move this to an SDL_PrivateJoyDeviceRemoved() function? */
 | 
					            SDL_PrivateJoystickRemoved(item->device_instance);
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
            event.type = SDL_JOYDEVICEREMOVED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
				SDL_Event peeped;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
				/* If there is an existing add event in the queue, it
 | 
					 | 
				
			||||||
				 * needs to be modified to have the right value for which,
 | 
					 | 
				
			||||||
				 * because the number of controllers in the system is now
 | 
					 | 
				
			||||||
				 * one less.
 | 
					 | 
				
			||||||
				 */
 | 
					 | 
				
			||||||
				if ( SDL_PeepEvents(&peeped, 1, SDL_GETEVENT, SDL_JOYDEVICEADDED, SDL_JOYDEVICEADDED) > 0) {
 | 
					 | 
				
			||||||
					peeped.jdevice.which--;
 | 
					 | 
				
			||||||
					SDL_PushEvent(&peeped);
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                event.jdevice.which = item->device_instance;
 | 
					 | 
				
			||||||
                if ( (SDL_EventOK == NULL) ||
 | 
					 | 
				
			||||||
                     (*SDL_EventOK) (SDL_EventOKParam, &event) ) {
 | 
					 | 
				
			||||||
                    SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            SDL_free(item->path);
 | 
					            SDL_free(item->path);
 | 
				
			||||||
            SDL_free(item->name);
 | 
					            SDL_free(item->name);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,9 +42,6 @@
 | 
				
			||||||
#include "SDL_joystick.h"
 | 
					#include "SDL_joystick.h"
 | 
				
			||||||
#include "../SDL_sysjoystick.h"
 | 
					#include "../SDL_sysjoystick.h"
 | 
				
			||||||
#include "../../thread/SDL_systhread.h"
 | 
					#include "../../thread/SDL_systhread.h"
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
#include "../../events/SDL_events_c.h"
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
#include "../../core/windows/SDL_windows.h"
 | 
					#include "../../core/windows/SDL_windows.h"
 | 
				
			||||||
#if !defined(__WINRT__)
 | 
					#if !defined(__WINRT__)
 | 
				
			||||||
#include <dbt.h>
 | 
					#include <dbt.h>
 | 
				
			||||||
| 
						 | 
					@ -327,9 +324,6 @@ void
 | 
				
			||||||
SDL_SYS_JoystickDetect()
 | 
					SDL_SYS_JoystickDetect()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    JoyStick_DeviceData *pCurList = NULL;
 | 
					    JoyStick_DeviceData *pCurList = NULL;
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					 | 
				
			||||||
    SDL_Event event;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* only enum the devices if the joystick thread told us something changed */
 | 
					    /* only enum the devices if the joystick thread told us something changed */
 | 
				
			||||||
    if (!s_bDeviceAdded && !s_bDeviceRemoved) {
 | 
					    if (!s_bDeviceAdded && !s_bDeviceRemoved) {
 | 
				
			||||||
| 
						 | 
					@ -361,17 +355,7 @@ SDL_SYS_JoystickDetect()
 | 
				
			||||||
            SDL_DINPUT_MaybeRemoveDevice(&pCurList->dxdevice);
 | 
					            SDL_DINPUT_MaybeRemoveDevice(&pCurList->dxdevice);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					        SDL_PrivateJoystickRemoved(pCurList->nInstanceID);
 | 
				
			||||||
        SDL_zero(event);
 | 
					 | 
				
			||||||
        event.type = SDL_JOYDEVICEREMOVED;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
            event.jdevice.which = pCurList->nInstanceID;
 | 
					 | 
				
			||||||
            if ((!SDL_EventOK) || (*SDL_EventOK) (SDL_EventOKParam, &event)) {
 | 
					 | 
				
			||||||
                SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        pListNext = pCurList->pNext;
 | 
					        pListNext = pCurList->pNext;
 | 
				
			||||||
        SDL_free(pCurList->joystickname);
 | 
					        SDL_free(pCurList->joystickname);
 | 
				
			||||||
| 
						 | 
					@ -392,17 +376,8 @@ SDL_SYS_JoystickDetect()
 | 
				
			||||||
                    SDL_DINPUT_MaybeAddDevice(&pNewJoystick->dxdevice);
 | 
					                    SDL_DINPUT_MaybeAddDevice(&pNewJoystick->dxdevice);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#if !SDL_EVENTS_DISABLED
 | 
					                SDL_PrivateJoystickAdded(device_index);
 | 
				
			||||||
                SDL_zero(event);
 | 
					 | 
				
			||||||
                event.type = SDL_JOYDEVICEADDED;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (SDL_GetEventState(event.type) == SDL_ENABLE) {
 | 
					 | 
				
			||||||
                    event.jdevice.which = device_index;
 | 
					 | 
				
			||||||
                    if ((!SDL_EventOK) || (*SDL_EventOK) (SDL_EventOKParam, &event)) {
 | 
					 | 
				
			||||||
                        SDL_PushEvent(&event);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
#endif /* !SDL_EVENTS_DISABLED */
 | 
					 | 
				
			||||||
                pNewJoystick->send_add_event = SDL_FALSE;
 | 
					                pNewJoystick->send_add_event = SDL_FALSE;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            device_index++;
 | 
					            device_index++;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue