mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-03 14:19:20 +00:00
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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user