[PATCH 1/3] Change find_resource_for_surface to find_resource_for_client
Tiago Vignatti
tiago.vignatti at linux.intel.com
Fri Apr 20 02:23:41 PDT 2012
On 04/20/2012 05:50 AM, cdahlin at redhat.com wrote:
> From: Casey Dahlin<cdahlin at redhat.com>
>
> This function has generic applications and should be made generic.
this looks good. But we have already find_resource_for_surface in
libwayland-server, it's just not exported. So I'd say this kind of
modification should go there instead.
>
> 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;
More information about the wayland-devel
mailing list