mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-09-05 19:08:12 +00:00
streamline boolean logic
This commit is contained in:
@@ -1607,7 +1607,7 @@ bool SDL_SetCursor(SDL_Cursor *cursor)
|
||||
{
|
||||
SDL_Mouse *mouse = SDL_GetMouse();
|
||||
|
||||
// Return immediately if setting the cursor to the currently set one (fixes #7151)
|
||||
// already on this cursor, no further action required
|
||||
if (cursor == mouse->cur_cursor) {
|
||||
return true;
|
||||
}
|
||||
@@ -1627,23 +1627,20 @@ bool SDL_SetCursor(SDL_Cursor *cursor)
|
||||
}
|
||||
}
|
||||
mouse->cur_cursor = cursor;
|
||||
} else if (mouse->focus) {
|
||||
cursor = mouse->cur_cursor;
|
||||
} else {
|
||||
if (mouse->focus) {
|
||||
cursor = mouse->cur_cursor;
|
||||
} else {
|
||||
cursor = mouse->def_cursor;
|
||||
}
|
||||
cursor = mouse->def_cursor;
|
||||
}
|
||||
|
||||
if (cursor && (!mouse->focus || (mouse->cursor_visible && (!mouse->relative_mode || !mouse->relative_mode_hide_cursor)))) {
|
||||
if (mouse->ShowCursor) {
|
||||
mouse->ShowCursor(cursor);
|
||||
}
|
||||
} else {
|
||||
if (mouse->ShowCursor) {
|
||||
mouse->ShowCursor(NULL);
|
||||
}
|
||||
if (mouse->focus && (!mouse->cursor_visible || (mouse->relative_mode && mouse->relative_mode_hide_cursor))) {
|
||||
cursor = NULL;
|
||||
}
|
||||
|
||||
if (mouse->ShowCursor) {
|
||||
mouse->ShowCursor(cursor);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user