# HG changeset patch # User Patrice Mandin # Date 1158090460 0 # Node ID 7312feb88dad4926c9ac1f45aad3099a25328544 # Parent cb0fd9cdd2a90448c276078336a00f5492129dd5 Allow grabing mouse by locking its position diff -r cb0fd9cdd2a9 -r 7312feb88dad src/video/gem/SDL_gemmouse.c --- a/src/video/gem/SDL_gemmouse.c Tue Sep 12 19:44:51 2006 +0000 +++ b/src/video/gem/SDL_gemmouse.c Tue Sep 12 19:47:40 2006 +0000 @@ -167,10 +167,12 @@ { /* If the mouse is hidden and input is grabbed, we use relative mode */ if ((!(SDL_cursorstate & CURSOR_VISIBLE)) && - /*(this->input_grab != SDL_GRAB_OFF) && *//* Damn GEM can not grab */ + (this->input_grab != SDL_GRAB_OFF) && (SDL_GetAppState() & SDL_APPACTIVE)) { + SDL_AtariXbios_LockMousePosition(SDL_TRUE); GEM_mouse_relative = SDL_TRUE; } else { + SDL_AtariXbios_LockMousePosition(SDL_FALSE); GEM_mouse_relative = SDL_FALSE; graf_mouse(M_ON, NULL); } diff -r cb0fd9cdd2a9 -r 7312feb88dad src/video/gem/SDL_gemwm.c --- a/src/video/gem/SDL_gemwm.c Tue Sep 12 19:44:51 2006 +0000 +++ b/src/video/gem/SDL_gemwm.c Tue Sep 12 19:47:40 2006 +0000 @@ -113,7 +113,11 @@ SDL_GrabMode GEM_GrabInput(_THIS, SDL_GrabMode mode) { - return SDL_GRAB_OFF; + if (this->screen == NULL) { + return SDL_GRAB_OFF; + } + + return mode; } /* vi: set ts=4 sw=4 expandtab: */