Gregory Smith

Another one for the "How did this ever work?" file: when
DX5_HandleMessage is called with WM_ACTIVATEAPP, it goes past the end
of the 2-element SDL_DIdev array and if there doesn't happen to be a 0
in the memory next to it, crashes. Patch against SVN attached.

--HG--
branch : SDL-1.2
This commit is contained in:
Sam Lantinga
2009-11-15 17:21:24 +00:00
parent c1aa984d3b
commit db37d6e3b3

View File

@@ -559,13 +559,15 @@ LRESULT DX5_HandleMessage(_THIS, HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPar
active = (wParam && (GetForegroundWindow() == hwnd));
if ( active ) {
for ( i=0; SDL_DIdev[i]; ++i ) {
IDirectInputDevice2_Acquire(
for ( i=0; i<MAX_INPUTS; ++i ) {
if (SDL_DIdev[i] != NULL)
IDirectInputDevice2_Acquire(
SDL_DIdev[i]);
}
} else {
for ( i=0; SDL_DIdev[i]; ++i ) {
IDirectInputDevice2_Unacquire(
for ( i=0; i<MAX_INPUTS; ++i ) {
if (SDL_DIdev[i] != NULL)
IDirectInputDevice2_Unacquire(
SDL_DIdev[i]);
}
mouse_lost = 1;