[PATCH 1/3] Change find_resource_for_surface to find_resource_for_client

cdahlin at redhat.com cdahlin at redhat.com
Thu Apr 19 19:50:07 PDT 2012


From: Casey Dahlin <cdahlin at redhat.com>

This function has generic applications and should be made generic.

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