input: check if the resource is valid in seat_get_pointer
authorGiulio Camuffo <giuliocamuffo@gmail.com>
Sun, 7 Jul 2013 15:38:50 +0000 (17:38 +0200)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 8 Jul 2013 17:22:08 +0000 (13:22 -0400)
seat->pointer->focus->resource can be NULL, if the surface was
created with weston_surface_create.

src/input.c

index 644487a..a7a37e5 100644 (file)
@@ -1181,7 +1181,7 @@ seat_get_pointer(struct wl_client *client, struct wl_resource *resource,
        wl_resource_set_implementation(cr, &pointer_interface, seat->pointer,
                                       unbind_resource);
 
-       if (seat->pointer->focus &&
+       if (seat->pointer->focus && seat->pointer->focus->resource &&
            wl_resource_get_client(seat->pointer->focus->resource) == client) {
                struct weston_surface *surface;
                wl_fixed_t sx, sy;