Преглед изворни кода

wayland: Only destroy tool frame callbacks if the cursor is the one being destroyed

(cherry picked from commit 202fdb27954c963c38432966fef8069c6d781645)
Frank Praznik пре 1 месец
родитељ
комит
7627f5d838
1 измењених фајлова са 2 додато и 2 уклоњено
  1. 2 2
      src/video/wayland/SDL_waylandmouse.c

+ 2 - 2
src/video/wayland/SDL_waylandmouse.c

@@ -910,9 +910,9 @@ static void Wayland_FreeCursorData(SDL_CursorData *d)
 
         SDL_WaylandPenTool *tool;
         wl_list_for_each (tool, &seat->tablet.tool_list, link) {
-            Wayland_CursorStateDestroyFrameCallback(&tool->cursor_state);
-
             if (tool->cursor_state.current_cursor == d) {
+                Wayland_CursorStateDestroyFrameCallback(&tool->cursor_state);
+
                 // Custom cursor buffers are about to be destroyed, so ensure they are detached.
                 if (!d->is_system_cursor && tool->cursor_state.surface) {
                     wl_surface_attach(seat->pointer.cursor_state.surface, NULL, 0, 0);