libweston: introduce weston_output_from_resource()

This is a simple wrapper for casting the user data of a wl_resource into
a struct weston_output pointer. Using the wrapper clearly marks all the
places where a wl_output protocol object is used.

Replace ALL wl_output related calls to wl_resource_get_user_data() with
a call to weston_output_from_resource().

v2: add type assert in weston_output_from_resource().

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Armin Krezović <krezovic.armin@gmail.com>
This commit is contained in:
Pekka Paalanen
2017-03-27 15:14:32 +03:00
parent 0079a949e0
commit 9ffb25009c
11 changed files with 30 additions and 11 deletions
+1 -1
View File
@@ -274,7 +274,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 = wl_resource_get_user_data(output_resource);
input_panel_surface->output = weston_output_from_resource(output_resource);
input_panel_surface->panel = 0;
}
+2 -2
View File
@@ -2941,7 +2941,7 @@ desktop_shell_set_background(struct wl_client *client,
surface->committed = background_committed;
surface->committed_private = shell;
weston_surface_set_label_func(surface, background_get_label);
surface->output = wl_resource_get_user_data(output_resource);
surface->output = weston_output_from_resource(output_resource);
view->output = surface->output;
weston_desktop_shell_send_configure(resource, 0,
surface_resource,
@@ -3026,7 +3026,7 @@ desktop_shell_set_panel(struct wl_client *client,
surface->committed = panel_committed;
surface->committed_private = shell;
weston_surface_set_label_func(surface, panel_get_label);
surface->output = wl_resource_get_user_data(output_resource);
surface->output = weston_output_from_resource(output_resource);
view->output = surface->output;
weston_desktop_shell_send_configure(resource, 0,
surface_resource,