Signed-off-by: Jason Ekstrand <ja...@jlekstrand.net>
---
 src/compositor.c    | 21 ++++-----------------
 src/data-device.c   |  6 +++---
 src/screenshooter.c |  3 ++-
 src/shell.c         | 12 ++++++------
 4 files changed, 15 insertions(+), 27 deletions(-)

diff --git a/src/compositor.c b/src/compositor.c
index f1ff516..28be309 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -502,19 +502,6 @@ weston_surface_damage_below(struct weston_surface *surface)
        pixman_region32_fini(&damage);
 }
 
-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;
-}
-
 static void
 weston_surface_update_output_mask(struct weston_surface *es, uint32_t mask)
 {
@@ -536,7 +523,7 @@ weston_surface_update_output_mask(struct weston_surface 
*es, uint32_t mask)
        wl_list_for_each(output, &es->compositor->output_list, link) {
                if (1 << output->id & different)
                        resource =
-                               find_resource_for_client(&output->resource_list,
+                               
wl_resource_find_for_client(&output->resource_list,
                                                         client);
                if (resource == NULL)
                        continue;
@@ -2487,7 +2474,7 @@ weston_compositor_stack_plane(struct weston_compositor 
*ec,
 
 static void unbind_resource(struct wl_resource *resource)
 {
-       wl_list_remove(&resource->link);
+       wl_list_remove(wl_resource_get_link(resource));
        free(resource);
 }
 
@@ -2502,8 +2489,8 @@ bind_output(struct wl_client *client,
        resource = wl_client_add_object(client,
                                        &wl_output_interface, NULL, id, data);
 
-       wl_list_insert(&output->resource_list, &resource->link);
-       resource->destroy = unbind_resource;
+       wl_list_insert(&output->resource_list, wl_resource_get_link(resource));
+       wl_resource_set_destructor(resource, unbind_resource);
 
        wl_output_send_geometry(resource,
                                output->x,
diff --git a/src/data-device.c b/src/data-device.c
index 91c18df..5bf14cd 100644
--- a/src/data-device.c
+++ b/src/data-device.c
@@ -352,8 +352,8 @@ data_device_start_drag(struct wl_client *client, struct 
wl_resource *resource,
                       struct wl_resource *origin_resource,
                       struct wl_resource *icon_resource, uint32_t serial)
 {
-       struct weston_seat *seat = resource->data;
-       struct weston_drag *drag = resource->data;
+       struct weston_seat *seat = wl_resource_get_user_data(resource);
+       struct weston_drag *drag = wl_resource_get_user_data(resource);
        struct weston_surface *icon = NULL;
 
        if (seat->pointer->button_count == 0 ||
@@ -563,7 +563,7 @@ get_data_device(struct wl_client *client,
                struct wl_resource *manager_resource,
                uint32_t id, struct wl_resource *seat_resource)
 {
-       struct weston_seat *seat = seat_resource->data;
+       struct weston_seat *seat = wl_resource_get_user_data(seat_resource);
        struct wl_resource *resource;
 
        resource = wl_client_add_object(client, &wl_data_device_interface,
diff --git a/src/screenshooter.c b/src/screenshooter.c
index 3a4f6c2..1fdfc9a 100644
--- a/src/screenshooter.c
+++ b/src/screenshooter.c
@@ -175,7 +175,8 @@ screenshooter_shoot(struct wl_client *client,
                    struct wl_resource *output_resource,
                    struct wl_resource *buffer_resource)
 {
-       struct weston_output *output = output_resource->data;
+       struct weston_output *output =
+               wl_resource_get_user_data(output_resource);
        struct screenshooter_frame_listener *l;
        struct wl_buffer *buffer = buffer_resource->data;
 
diff --git a/src/shell.c b/src/shell.c
index a3ec07c..0cee501 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1710,7 +1710,7 @@ shell_surface_set_maximized(struct wl_client *client,
        /* get the default output, if the client set it as NULL
           check whether the ouput is available */
        if (output_resource)
-               shsurf->output = output_resource->data;
+               shsurf->output = wl_resource_get_user_data(output_resource);
        else if (es->output)
                shsurf->output = es->output;
        else
@@ -1923,7 +1923,7 @@ shell_surface_set_fullscreen(struct wl_client *client,
        struct weston_output *output;
 
        if (output_resource)
-               output = output_resource->data;
+               output = wl_resource_get_user_data(output_resource);
        else
                output = NULL;
 
@@ -2432,7 +2432,7 @@ desktop_shell_set_background(struct wl_client *client,
 
        surface->configure = background_configure;
        surface->configure_private = shell;
-       surface->output = output_resource->data;
+       surface->output = wl_resource_get_user_data(output_resource);
        desktop_shell_send_configure(resource, 0,
                                     surface_resource,
                                     surface->output->width,
@@ -2466,7 +2466,7 @@ desktop_shell_set_panel(struct wl_client *client,
 
        surface->configure = panel_configure;
        surface->configure_private = shell;
-       surface->output = output_resource->data;
+       surface->output = wl_resource_get_user_data(output_resource);
        desktop_shell_send_configure(resource, 0,
                                     surface_resource,
                                     surface->output->width,
@@ -3654,7 +3654,7 @@ screensaver_set_surface(struct wl_client *client,
        struct desktop_shell *shell = wl_resource_get_user_data(resource);
        struct weston_surface *surface =
                wl_resource_get_user_data(surface_resource);
-       struct weston_output *output = output_resource->data;
+       struct weston_output *output = 
wl_resource_get_user_data(output_resource);
 
        surface->configure = screensaver_configure;
        surface->configure_private = shell;
@@ -3817,7 +3817,7 @@ input_panel_surface_set_toplevel(struct wl_client *client,
        wl_list_insert(&shell->input_panel.surfaces,
                       &input_panel_surface->link);
 
-       input_panel_surface->output = output_resource->data;
+       input_panel_surface->output = 
wl_resource_get_user_data(output_resource);
        input_panel_surface->panel = 0;
 }
 
-- 
1.8.1.4

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to