Correctly manage mouse relative motion

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401270
This commit is contained in:
Patrice Mandin 2006-01-25 20:36:21 +00:00
parent 7109c9a265
commit 0a8520eb1f
2 changed files with 9 additions and 9 deletions

View file

@ -382,13 +382,13 @@ static void do_mouse(_THIS, short mx, short my, short mb, short ks)
}
/* Mouse motion ? */
if ((prevmousex!=mx) || (prevmousey!=my)) {
if (GEM_mouse_relative) {
if ((SDL_AtariXbios_mousex!=0) || (SDL_AtariXbios_mousey!=0)) {
SDL_PrivateMouseMotion(0, 1, SDL_AtariXbios_mousex, SDL_AtariXbios_mousey);
SDL_AtariXbios_mousex = SDL_AtariXbios_mousey = 0;
}
} else {
if (GEM_mouse_relative) {
if (SDL_AtariXbios_mousex || SDL_AtariXbios_mousey) {
SDL_PrivateMouseMotion(0, 1, SDL_AtariXbios_mousex, SDL_AtariXbios_mousey);
SDL_AtariXbios_mousex = SDL_AtariXbios_mousey = 0;
}
} else {
if ((prevmousex!=mx) || (prevmousey!=my)) {
int posx, posy;
/* Give mouse position relative to window position */

View file

@ -165,8 +165,8 @@ void GEM_WarpWMCursor(_THIS, Uint16 x, Uint16 y)
void GEM_CheckMouseMode(_THIS)
{
/* If the mouse is hidden and input is grabbed, we use relative mode */
if ( !(SDL_cursorstate & CURSOR_VISIBLE) &&
(this->input_grab != SDL_GRAB_OFF) &&
if ( (!(SDL_cursorstate & CURSOR_VISIBLE)) &&
/*(this->input_grab != SDL_GRAB_OFF) && */ /* Damn GEM can not grab */
(SDL_GetAppState() & SDL_APPACTIVE) ) {
GEM_mouse_relative = SDL_TRUE;
} else {