Commit b35b7e8c authored by Sam Lantinga's avatar Sam Lantinga

Potentially fixed bug #774

There's a mismatch between ndev and MAX_INPUTS

--HG--
branch : SDL-1.2
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%403886
parent b0c831dd
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
#endif #endif
/* The keyboard and mouse device input */ /* The keyboard and mouse device input */
#define MAX_INPUTS 16 /* Maximum of 16-1 input devices */ #define MAX_INPUTS 2
#define INPUT_QSIZE 512 /* Buffer up to 512 input messages */ #define INPUT_QSIZE 512 /* Buffer up to 512 input messages */
static LPDIRECTINPUT dinput = NULL; static LPDIRECTINPUT dinput = NULL;
...@@ -264,6 +264,8 @@ static void DX5_DInputQuit(_THIS) ...@@ -264,6 +264,8 @@ static void DX5_DInputQuit(_THIS)
SDL_DIdev[i] = NULL; SDL_DIdev[i] = NULL;
} }
} }
SDL_DIndev = 0;
/* Release DirectInput */ /* Release DirectInput */
IDirectInput_Release(dinput); IDirectInput_Release(dinput);
dinput = NULL; dinput = NULL;
...@@ -664,15 +666,17 @@ static int DX5_CheckInput(_THIS, int timeout, BOOL processInput) ...@@ -664,15 +666,17 @@ static int DX5_CheckInput(_THIS, int timeout, BOOL processInput)
/* Pump the DirectInput flow */ /* Pump the DirectInput flow */
if ( SDL_GetAppState() & SDL_APPINPUTFOCUS ) { if ( SDL_GetAppState() & SDL_APPINPUTFOCUS ) {
for ( i=0; i<SDL_DIndev; ++i ) { for ( i=0; i<MAX_INPUTS; ++i ) {
result = IDirectInputDevice2_Poll(SDL_DIdev[i]); if ( SDL_DIdev[i] != NULL ) {
if ( (result == DIERR_INPUTLOST) || result = IDirectInputDevice2_Poll(SDL_DIdev[i]);
(result == DIERR_NOTACQUIRED) ) { if ( (result == DIERR_INPUTLOST) ||
if ( SDL_strcmp(inputs[i].name, "mouse") == 0 ) { (result == DIERR_NOTACQUIRED) ) {
mouse_lost = 1; if ( SDL_strcmp(inputs[i].name, "mouse") == 0 ) {
mouse_lost = 1;
}
IDirectInputDevice2_Acquire(SDL_DIdev[i]);
IDirectInputDevice2_Poll(SDL_DIdev[i]);
} }
IDirectInputDevice2_Acquire(SDL_DIdev[i]);
IDirectInputDevice2_Poll(SDL_DIdev[i]);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment