wayland: Disable warp emulation when restoring cursor visibility with the shape protocol
This commit is contained in:
@@ -538,7 +538,14 @@ static int Wayland_ShowCursor(SDL_Cursor *cursor)
|
|||||||
if (!data->shmBuffer.shm_data) {
|
if (!data->shmBuffer.shm_data) {
|
||||||
if (input->cursor_shape) {
|
if (input->cursor_shape) {
|
||||||
Wayland_SetSystemCursorShape(input, data->system_cursor);
|
Wayland_SetSystemCursorShape(input, data->system_cursor);
|
||||||
|
|
||||||
input->cursor_visible = SDL_TRUE;
|
input->cursor_visible = SDL_TRUE;
|
||||||
|
|
||||||
|
if (input->relative_mode_override) {
|
||||||
|
Wayland_input_disable_relative_pointer(input);
|
||||||
|
input->relative_mode_override = SDL_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
} else if (!wayland_get_system_cursor(d, data, &scale)) {
|
} else if (!wayland_get_system_cursor(d, data, &scale)) {
|
||||||
return -1;
|
return -1;
|
||||||
@@ -607,7 +614,7 @@ static int Wayland_WarpMouse(SDL_Window *window, float x, float y)
|
|||||||
} else if (input->warp_emulation_prohibited) {
|
} else if (input->warp_emulation_prohibited) {
|
||||||
return SDL_Unsupported();
|
return SDL_Unsupported();
|
||||||
} else if (!d->relative_mouse_mode) {
|
} else if (!d->relative_mouse_mode) {
|
||||||
Wayland_input_lock_pointer(input, window);
|
Wayland_input_enable_relative_pointer(input);
|
||||||
input->relative_mode_override = SDL_TRUE;
|
input->relative_mode_override = SDL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user