output: Use wl_resource_get accessors for weston_output resources

Signed-off-by: Jason Ekstrand <jason@jlekstrand.net>
diff --git a/src/compositor.c b/src/compositor.c
index 38ef095..e57f61f 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -502,19 +502,6 @@
 	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 @@
 	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;
@@ -2489,7 +2476,7 @@
 
 static void unbind_resource(struct wl_resource *resource)
 {
-	wl_list_remove(&resource->link);
+	wl_list_remove(wl_resource_get_link(resource));
 	free(resource);
 }
 
@@ -2504,8 +2491,8 @@
 	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 1735620..37f6996 100644
--- a/src/data-device.c
+++ b/src/data-device.c
@@ -366,8 +366,8 @@
 		       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 ||
@@ -573,7 +573,7 @@
 		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 @@
 		    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 7660f15..a3b1b1f 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1717,7 +1717,7 @@
 	/* 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
@@ -1930,7 +1930,7 @@
 	struct weston_output *output;
 
 	if (output_resource)
-		output = output_resource->data;
+		output = wl_resource_get_user_data(output_resource);
 	else
 		output = NULL;
 
@@ -2449,7 +2449,7 @@
 
 	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,
@@ -2483,7 +2483,7 @@
 
 	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,
@@ -3675,7 +3675,7 @@
 	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;
@@ -3838,7 +3838,7 @@
 	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;
 }