[PATCH 1/3] Change find_resource_for_surface to find_resource_for_client

Kristian Hoegsberg hoegsberg at gmail.com
Fri Apr 20 10:12:10 PDT 2012


On Thu, Apr 19, 2012 at 10:50:07PM -0400, cdahlin at redhat.com wrote:
> From: Casey Dahlin <cdahlin at redhat.com>
> 
> This function has generic applications and should be made generic.

This one is fine, applied.  I edited out the TODO comment as discussed
on the list.

Kristian

> Signed-off-by: Casey Dahlin <cdahlin at redhat.com>
> ---
>  src/compositor.c |   35 ++++++++++++++++-------------------
>  1 files changed, 16 insertions(+), 19 deletions(-)
> 
> diff --git a/src/compositor.c b/src/compositor.c
> index 17daac4..3065f81 100644
> --- a/src/compositor.c
> +++ b/src/compositor.c
> @@ -1112,6 +1112,20 @@ surface_destroy(struct wl_client *client, struct wl_resource *resource)
>  	wl_resource_destroy(resource);
>  }
>  
> +/* TODO: share this function with wayland-server.c */
> +static struct wl_resource *
> +find_resource_for_client(struct wl_list *list, struct wl_client *client)
> +{
> +        struct wl_resource *r;
> +
> +        wl_list_for_each(r, list, link) {
> +                if (r->client == client)
> +                        return r;
> +        }
> +
> +        return NULL;
> +}
> +
>  WL_EXPORT void
>  weston_surface_assign_output(struct weston_surface *es)
>  {
> @@ -1742,23 +1756,6 @@ notify_keyboard_focus(struct wl_input_device *device, struct wl_array *keys)
>  	}
>  }
>  
> -/* TODO: share this function with wayland-server.c */
> -static struct wl_resource *
> -find_resource_for_surface(struct wl_list *list, struct wl_surface *surface)
> -{
> -        struct wl_resource *r;
> -
> -        if (!surface)
> -                return NULL;
> -
> -        wl_list_for_each(r, list, link) {
> -                if (r->client == surface->resource.client)
> -                        return r;
> -        }
> -
> -        return NULL;
> -}
> -
>  static void
>  lose_touch_focus_resource(struct wl_listener *listener, void *data)
>  {
> @@ -1791,8 +1788,8 @@ touch_set_focus(struct weston_input_device *device,
>  
>  	if (surface) {
>  		resource =
> -			find_resource_for_surface(&input_device->resource_list,
> -						  surface);
> +			find_resource_for_client(&input_device->resource_list,
> +						 surface->resource.client);
>  		if (!resource) {
>  			fprintf(stderr, "couldn't find resource\n");
>  			return;
> -- 
> 1.7.7.6
> 


More information about the wayland-devel mailing list