From a25a5a243c2cf85f31f6d52e1c5d12f1aa750626 Mon Sep 17 00:00:00 2001
From: Frank Praznik <[EMAIL REDACTED]>
Date: Thu, 16 May 2024 12:44:01 -0400
Subject: [PATCH] wayland: Disable warp emulation when restoring cursor
visibility with the shape protocol
(cherry picked from commit 67f3a3ee54b7c7e0945525408437f65f807ca8ba)
---
src/video/wayland/SDL_waylandmouse.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/video/wayland/SDL_waylandmouse.c b/src/video/wayland/SDL_waylandmouse.c
index ceb6b243f3289..989d4c115ea8f 100644
--- a/src/video/wayland/SDL_waylandmouse.c
+++ b/src/video/wayland/SDL_waylandmouse.c
@@ -605,7 +605,14 @@ static int Wayland_ShowCursor(SDL_Cursor *cursor)
if (!data->shm_data) {
if (input->cursor_shape) {
Wayland_SetSystemCursorShape(input, data->system_cursor);
+
input->cursor_visible = SDL_TRUE;
+
+ if (input->relative_mode_override) {
+ Wayland_input_unlock_pointer(input);
+ input->relative_mode_override = SDL_FALSE;
+ }
+
return 0;
} else if (!wayland_get_system_cursor(d, data, &scale)) {
return -1;