Commit 7d9595b14fe1808eedeb69b7c58a4b90c187ce5b

Frank Praznik 2023-10-29T14:12:38

wayland: Check the relative pointer handle before destroying If the relative protocol is unsupported, this will always be null and the destroy function won't be called. (cherry picked from commit 0e87b71d08c75af8c4b02808038825d3b16bf854) (cherry picked from commit 19c3e125ba71e4667743316f606872cc39f25a81)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
diff --git a/src/video/wayland/SDL_waylandevents.c b/src/video/wayland/SDL_waylandevents.c
index 160185f..216ae54 100644
--- a/src/video/wayland/SDL_waylandevents.c
+++ b/src/video/wayland/SDL_waylandevents.c
@@ -2621,8 +2621,10 @@ int Wayland_input_unlock_pointer(struct SDL_WaylandInput *input)
         w->locked_pointer = NULL;
     }
 
-    zwp_relative_pointer_v1_destroy(input->relative_pointer);
-    input->relative_pointer = NULL;
+    if (input->relative_pointer) {
+        zwp_relative_pointer_v1_destroy(input->relative_pointer);
+        input->relative_pointer = NULL;
+    }
 
     d->relative_mouse_mode = 0;