[PATCH weston v2] input: check if the focus surface has a valid resource
Kristian Høgsberg
hoegsberg at gmail.com
Thu Jun 20 12:21:18 PDT 2013
On Thu, Jun 20, 2013 at 06:13:07PM +0200, Giulio Camuffo wrote:
> 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.
Yes, that looks right, it's something that would regress silently with
the wl_resource changes. Committed.
Kristian
> ---
>
> 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
More information about the wayland-devel
mailing list