diff --git a/src/wayland/meta-wayland-pointer-constraints.c b/src/wayland/meta-wayland-pointer-constraints.c index 841f7d81d..5c69e70e8 100644 --- a/src/wayland/meta-wayland-pointer-constraints.c +++ b/src/wayland/meta-wayland-pointer-constraints.c @@ -604,7 +604,7 @@ locked_pointer_set_cursor_position_hint (struct wl_client *client, /* Ignore a set cursor hint that was already sent after the constraint * was cancelled. */ - if (!constraint->resource || constraint->resource != resource) + if (!constraint || !constraint->resource || constraint->resource != resource) return; constraint->hint_set = TRUE; @@ -622,6 +622,9 @@ locked_pointer_set_region (struct wl_client *client, MetaWaylandRegion *region = region_resource ? wl_resource_get_user_data (region_resource) : NULL; + if (!constraint) + return; + meta_wayland_pointer_constraint_set_pending_region (constraint, region); } @@ -735,6 +738,9 @@ confined_pointer_set_region (struct wl_client *client, MetaWaylandRegion *region = region_resource ? wl_resource_get_user_data (region_resource) : NULL; + if (!constraint) + return; + meta_wayland_pointer_constraint_set_pending_region (constraint, region); }