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)
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;