mouse: Free the default cursor when destroyed

The default cursor was being leaked on destruction as it is not in the cursor list, and subsequently SDL_DestroyCursor() wouldn't call the free function for it.
This commit is contained in:
Frank Praznik
2023-08-16 12:32:58 -04:00
parent 789ce17e11
commit e58c2731fe

View File

@@ -239,7 +239,11 @@ void SDL_SetDefaultCursor(SDL_Cursor *cursor)
}
mouse->def_cursor = NULL;
SDL_DestroyCursor(default_cursor);
if (mouse->FreeCursor && default_cursor->driverdata) {
mouse->FreeCursor(default_cursor);
} else {
SDL_free(default_cursor);
}
}
mouse->def_cursor = cursor;