the resource can be NULL in some cases, like when the focus is
taken by the black_surface used in shell.c as fullscreen background.
---

sorry for the noise, v1 has spaces instead of tabs

 src/input.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/input.c b/src/input.c
index e670eb6..ad4512d 100644
--- a/src/input.c
+++ b/src/input.c
@@ -1110,6 +1110,11 @@ pointer_set_cursor(struct wl_client *client, struct 
wl_resource *resource,
 
        if (pointer->focus == NULL)
                return;
+       /* pointer->focus->resource can be NULL. Surfaces like the
+       black_surface used in shell.c for fullscreen don't have
+       a resource, but can still have focus */
+       if (pointer->focus->resource == NULL)
+               return;
        if (wl_resource_get_client(pointer->focus->resource) != client)
                return;
        if (pointer->focus_serial - serial > UINT32_MAX / 2)
-- 
1.8.3.1

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to