Mercurial > sdl-ios-xcode
diff src/video/windx5/SDL_dx5events.c @ 1114:242a35a85852
Patches to make SDL compatible with Win95 again.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Thu, 11 Aug 2005 01:02:01 +0000 |
parents | add87cc1de0a |
children | 040aa1bea9fc |
line wrap: on
line diff
--- a/src/video/windx5/SDL_dx5events.c Thu Aug 11 00:56:16 2005 +0000 +++ b/src/video/windx5/SDL_dx5events.c Thu Aug 11 01:02:01 2005 +0000 @@ -68,6 +68,19 @@ and give him a chance to handle some messages. */ static WNDPROC userWindowProc = NULL; +static HWND GetTopLevelParent(HWND hWnd) +{ + HWND hParentWnd; + while (1) + { + hParentWnd = GetParent(hWnd); + if (hParentWnd == NULL) + break; + hWnd = hParentWnd; + } + return hWnd; +} + /* Convert a DirectInput return code to a text message */ static void SetDIerror(char *function, int code) { @@ -168,7 +181,7 @@ SetDIerror("DirectInputDevice::QueryInterface", result); return(-1); } - topwnd = GetAncestor(SDL_Window, GA_ROOT); + topwnd = GetTopLevelParent(SDL_Window, GA_ROOT); result = IDirectInputDevice2_SetCooperativeLevel(SDL_DIdev[i], topwnd, inputs[i].win_level); if ( result != DI_OK ) { @@ -652,7 +665,7 @@ level = inputs[i].win_level; } IDirectInputDevice2_Unacquire(SDL_DIdev[i]); - topwnd = GetAncestor(SDL_Window, GA_ROOT); + topwnd = GetTopLevelParent(SDL_Window, GA_ROOT); result = IDirectInputDevice2_SetCooperativeLevel( SDL_DIdev[i], topwnd, level); IDirectInputDevice2_Acquire(SDL_DIdev[i]);