X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=vid_sdl.c;h=65d4bcb7913e0d54468477ba481499d0a3e47b92;hb=a53125498eeac71ffa52aa0160c3de455799877b;hp=1e6eed59be2b554f2f689d71e140ffc31e675e99;hpb=3895fb3c013e84780f76ae3a2122556d84500660;p=xonotic%2Fdarkplaces.git diff --git a/vid_sdl.c b/vid_sdl.c index 1e6eed59..65d4bcb7 100644 --- a/vid_sdl.c +++ b/vid_sdl.c @@ -346,7 +346,13 @@ static void VID_SetCaption() return; icon = LoadIcon( GetModuleHandle( NULL ), MAKEINTRESOURCE( IDI_ICON1 ) ); - SetClassLong( info.window, GCL_HICON, (LONG) icon ); +#ifndef SetClassLongPtr +#define SetClassLongPtr SetClassLong +#endif +#ifndef GCLP_HICON +#define GCLP_HICON GCL_HICON +#endif + SetClassLongPtr( info.window, GCLP_HICON, (LONG_PTR)icon ); } #else static void VID_SetCaption() @@ -477,7 +483,7 @@ int VID_GetGamma (unsigned short *ramps) return !SDL_GetGammaRamp( ramps, ramps + 256, ramps + 512); } -void VID_Finish (void) +void VID_Finish (qboolean allowmousegrab) { Uint8 appstate; qboolean vid_usemouse; @@ -489,13 +495,15 @@ void VID_Finish (void) //react on appstate changes appstate = SDL_GetAppState(); - if( !( appstate & SDL_APPMOUSEFOCUS ) || !( appstate & SDL_APPINPUTFOCUS ) ) + vid_hidden = !(appstate & SDL_APPACTIVE); + + if( vid_hidden || !( appstate & SDL_APPMOUSEFOCUS ) || !( appstate & SDL_APPINPUTFOCUS ) ) vid_activewindow = false; else vid_activewindow = true; vid_usemouse = false; - if( vid_mouse.integer && !key_consoleactive && !cls.demoplayback ) + if( allowmousegrab && vid_mouse.integer && !key_consoleactive && !cls.demoplayback ) vid_usemouse = true; if( vid_isfullscreen ) vid_usemouse = true;