Setting the same mouse cursor twice is a no-op

This fixes extremely poor event polling performance on MacOS when using
Dear ImGui, which sets the mouse cursor every frame.
This commit is contained in:
Sean Ridenour 2023-02-04 10:29:59 -07:00 committed by Ryan C. Gordon
parent 5b5a72e33c
commit af5efadd9f

View file

@ -1333,6 +1333,11 @@ void SDL_SetCursor(SDL_Cursor *cursor)
{
SDL_Mouse *mouse = SDL_GetMouse();
/* Return immediately if setting the cursor to the currently set one (fixes #7151) */
if (cursor == mouse->cur_cursor) {
return;
}
/* Set the new cursor */
if (cursor) {
/* Make sure the cursor is still valid for this mouse */