Commit f9192ab8fc8ed80b447c1dc3a1503971a682e95c

Brandon Schaefer 2018-12-06T10:39:33

wayland: Do not try to lock on an invalid pointer This happens if you try to lock the pointer and (caps & WL_SEAT_CAPABILITY_POINTER) is false Leading to input->pointer being NULL which ends up bringing the wayland client down (at lease on weston)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/video/wayland/SDL_waylandevents.c b/src/video/wayland/SDL_waylandevents.c
index 033e83d..9d783f3 100644
--- a/src/video/wayland/SDL_waylandevents.c
+++ b/src/video/wayland/SDL_waylandevents.c
@@ -1104,6 +1104,9 @@ int Wayland_input_lock_pointer(struct SDL_WaylandInput *input)
     if (!d->pointer_constraints)
         return -1;
 
+    if (!input->pointer)
+        return -1;
+
     if (!input->relative_pointer) {
         relative_pointer =
             zwp_relative_pointer_manager_v1_get_relative_pointer(