wayland: Free the cursors before stopping the event thread

An active cursor being destroyed may still have a frame callback referencing the thread queue, so clean it up before destroying the thread queue to ensure that no references to the queue remain when it is destroyed.
This commit is contained in:
Frank Praznik committed 2025-11-18 20:36:38 -05:00
1 parent cc768f3e88
commit 168f78b8b7
1 file changed
+5 -5
+5 -5
View File
@@ -1492,17 +1492,17 @@ void Wayland_InitMouse(SDL_VideoData *data)
void Wayland_FiniMouse(SDL_VideoData *data)
{
for (int i = 0; i < SDL_arraysize(sys_cursors); i++) {
Wayland_FreeCursor(sys_cursors[i]);
sys_cursors[i] = NULL;
}
Wayland_DestroyCursorThread(data);
Wayland_FreeCursorThemes(data);
#ifdef SDL_USE_LIBDBUS
Wayland_DBusFinishCursorProperties();
#endif
for (int i = 0; i < SDL_arraysize(sys_cursors); i++) {
Wayland_FreeCursor(sys_cursors[i]);
sys_cursors[i] = NULL;
}
}
void Wayland_SeatUpdatePointerCursor(SDL_WaylandSeat *seat)