aboutsummaryrefslogtreecommitdiff
path: root/sdl.c
diff options
context:
space:
mode:
Diffstat (limited to 'sdl.c')
-rw-r--r--sdl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sdl.c b/sdl.c
index aecdf638ea..cfdf852373 100644
--- a/sdl.c
+++ b/sdl.c
@@ -278,7 +278,8 @@ static void sdl_grab_start(void)
{
if (guest_cursor) {
SDL_SetCursor(guest_sprite);
- SDL_WarpMouse(guest_x, guest_y);
+ if (!kbd_mouse_is_absolute() && !absolute_enabled)
+ SDL_WarpMouse(guest_x, guest_y);
} else
sdl_hide_cursor();
@@ -549,7 +550,8 @@ static void sdl_mouse_warp(int x, int y, int on)
sdl_show_cursor();
if (gui_grab || kbd_mouse_is_absolute() || absolute_enabled) {
SDL_SetCursor(guest_sprite);
- SDL_WarpMouse(x, y);
+ if (!kbd_mouse_is_absolute() && !absolute_enabled)
+ SDL_WarpMouse(x, y);
}
} else if (gui_grab)
sdl_hide_cursor();