Change find_resource_for_surface to find_resource_for_client
This function has generic applications and should be made generic. Signed-off-by: Casey Dahlin <cdahlin@redhat.com>
This commit is contained in:
parent
9521d5e553
commit
96d8a75ec0
@ -1125,6 +1125,19 @@ surface_destroy(struct wl_client *client, struct wl_resource *resource)
|
|||||||
wl_resource_destroy(resource);
|
wl_resource_destroy(resource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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
|
WL_EXPORT void
|
||||||
weston_surface_assign_output(struct weston_surface *es)
|
weston_surface_assign_output(struct weston_surface *es)
|
||||||
{
|
{
|
||||||
@ -1769,23 +1782,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
|
static void
|
||||||
lose_touch_focus_resource(struct wl_listener *listener, void *data)
|
lose_touch_focus_resource(struct wl_listener *listener, void *data)
|
||||||
{
|
{
|
||||||
@ -1818,8 +1814,8 @@ touch_set_focus(struct weston_input_device *device,
|
|||||||
|
|
||||||
if (surface) {
|
if (surface) {
|
||||||
resource =
|
resource =
|
||||||
find_resource_for_surface(&input_device->resource_list,
|
find_resource_for_client(&input_device->resource_list,
|
||||||
surface);
|
surface->resource.client);
|
||||||
if (!resource) {
|
if (!resource) {
|
||||||
fprintf(stderr, "couldn't find resource\n");
|
fprintf(stderr, "couldn't find resource\n");
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user