From 441e7e488ffdfa7d9a864b829ad89c8e2c99bf6a Mon Sep 17 00:00:00 2001
From: expikr <[EMAIL REDACTED]>
Date: Sun, 27 Apr 2025 13:48:31 +0800
Subject: [PATCH] invert cursor_visible to hide_cursor
---
src/events/SDL_mouse.c | 4 ++--
src/events/SDL_mouse_c.h | 2 +-
src/video/wayland/SDL_waylandmouse.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c
index 65ddeee0bd4cc..9d47e4ad7ddd6 100644
--- a/src/events/SDL_mouse.c
+++ b/src/events/SDL_mouse.c
@@ -229,7 +229,7 @@ static void SDLCALL SDL_MouseRelativeCursorVisibleChanged(void *userdata, const
{
SDL_Mouse *mouse = (SDL_Mouse *)userdata;
- mouse->relative_mode_cursor_visible = SDL_GetStringBoolean(hint, false);
+ mouse->relative_mode_hide_cursor = !(SDL_GetStringBoolean(hint, false));
SDL_SetCursor(NULL); // Update cursor visibility
}
@@ -1635,7 +1635,7 @@ bool SDL_SetCursor(SDL_Cursor *cursor)
}
}
- if (cursor && (!mouse->focus || (mouse->cursor_visible && (!mouse->relative_mode || mouse->relative_mode_cursor_visible)))) {
+ if (cursor && (!mouse->focus || (mouse->cursor_visible && (!mouse->relative_mode || !mouse->relative_mode_hide_cursor)))) {
if (mouse->ShowCursor) {
mouse->ShowCursor(cursor);
}
diff --git a/src/events/SDL_mouse_c.h b/src/events/SDL_mouse_c.h
index 9162e250fefe4..5acb48f3622a2 100644
--- a/src/events/SDL_mouse_c.h
+++ b/src/events/SDL_mouse_c.h
@@ -114,7 +114,7 @@ typedef struct
bool has_position;
bool relative_mode;
bool relative_mode_warp_motion;
- bool relative_mode_cursor_visible;
+ bool relative_mode_hide_cursor;
bool relative_mode_center;
bool warp_emulation_hint;
bool warp_emulation_active;
diff --git a/src/video/wayland/SDL_waylandmouse.c b/src/video/wayland/SDL_waylandmouse.c
index e5e2502a95e62..b7662e479892e 100644
--- a/src/video/wayland/SDL_waylandmouse.c
+++ b/src/video/wayland/SDL_waylandmouse.c
@@ -1118,7 +1118,7 @@ void Wayland_SeatUpdateCursor(SDL_WaylandSeat *seat)
if (pointer_focus) {
const bool has_relative_focus = Wayland_SeatHasRelativePointerFocus(seat);
- if (!seat->display->relative_mode_enabled || !has_relative_focus || mouse->relative_mode_cursor_visible) {
+ if (!seat->display->relative_mode_enabled || !has_relative_focus || !mouse->relative_mode_hide_cursor) {
const SDL_HitTestResult rc = pointer_focus->hit_test_result;
if ((seat->display->relative_mode_enabled && has_relative_focus) ||