libweston: make wl_output point to weston_head
The user data of a wl_resource representing a wl_output protocol object used to be a pointer to weston_output. Now that weston_output is being split, wl_output more accurately refers to weston_head which is a single monitor. Change the wl_output user data to point to weston_head. weston_output_from_resource() is replaced with weston_head_from_resource(). This change is not strictly necessary, but architecturally it is the right thing to do. In the future there might appear the need to refer to a specific head of a cloned pair, for instance. Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> v5 Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Ian Ray <ian.ray@ge.com> Reviewed-by: Daniel Stone <daniels@collabora.com> Acked-by: Derek Foreman <derekf@osg.samsung.com>
This commit is contained in:
@@ -66,7 +66,7 @@ screenshooter_shoot(struct wl_client *client,
|
|||||||
struct wl_resource *buffer_resource)
|
struct wl_resource *buffer_resource)
|
||||||
{
|
{
|
||||||
struct weston_output *output =
|
struct weston_output *output =
|
||||||
weston_output_from_resource(output_resource);
|
weston_head_from_resource(output_resource)->output;
|
||||||
struct weston_buffer *buffer =
|
struct weston_buffer *buffer =
|
||||||
weston_buffer_from_resource(buffer_resource);
|
weston_buffer_from_resource(buffer_resource);
|
||||||
|
|
||||||
|
|||||||
@@ -270,11 +270,13 @@ input_panel_surface_set_toplevel(struct wl_client *client,
|
|||||||
struct input_panel_surface *input_panel_surface =
|
struct input_panel_surface *input_panel_surface =
|
||||||
wl_resource_get_user_data(resource);
|
wl_resource_get_user_data(resource);
|
||||||
struct desktop_shell *shell = input_panel_surface->shell;
|
struct desktop_shell *shell = input_panel_surface->shell;
|
||||||
|
struct weston_head *head;
|
||||||
|
|
||||||
wl_list_insert(&shell->input_panel.surfaces,
|
wl_list_insert(&shell->input_panel.surfaces,
|
||||||
&input_panel_surface->link);
|
&input_panel_surface->link);
|
||||||
|
|
||||||
input_panel_surface->output = weston_output_from_resource(output_resource);
|
head = weston_head_from_resource(output_resource);
|
||||||
|
input_panel_surface->output = head->output;
|
||||||
input_panel_surface->panel = 0;
|
input_panel_surface->panel = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2969,7 +2969,7 @@ desktop_shell_set_background(struct wl_client *client,
|
|||||||
surface->committed = background_committed;
|
surface->committed = background_committed;
|
||||||
surface->committed_private = shell;
|
surface->committed_private = shell;
|
||||||
weston_surface_set_label_func(surface, background_get_label);
|
weston_surface_set_label_func(surface, background_get_label);
|
||||||
surface->output = weston_output_from_resource(output_resource);
|
surface->output = weston_head_from_resource(output_resource)->output;
|
||||||
view->output = surface->output;
|
view->output = surface->output;
|
||||||
|
|
||||||
sh_output = find_shell_output_from_weston_output(shell, surface->output);
|
sh_output = find_shell_output_from_weston_output(shell, surface->output);
|
||||||
@@ -3066,7 +3066,7 @@ desktop_shell_set_panel(struct wl_client *client,
|
|||||||
surface->committed = panel_committed;
|
surface->committed = panel_committed;
|
||||||
surface->committed_private = shell;
|
surface->committed_private = shell;
|
||||||
weston_surface_set_label_func(surface, panel_get_label);
|
weston_surface_set_label_func(surface, panel_get_label);
|
||||||
surface->output = weston_output_from_resource(output_resource);
|
surface->output = weston_head_from_resource(output_resource)->output;
|
||||||
view->output = surface->output;
|
view->output = surface->output;
|
||||||
|
|
||||||
sh_output = find_shell_output_from_weston_output(shell, surface->output);
|
sh_output = find_shell_output_from_weston_output(shell, surface->output);
|
||||||
|
|||||||
@@ -769,7 +769,7 @@ fullscreen_shell_present_surface(struct wl_client *client,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (output_res) {
|
if (output_res) {
|
||||||
output = weston_output_from_resource(output_res);
|
output = weston_head_from_resource(output_res)->output;
|
||||||
fsout = fs_output_for_output(output);
|
fsout = fs_output_for_output(output);
|
||||||
fs_output_set_surface(fsout, surface, method, 0, 0);
|
fs_output_set_surface(fsout, surface, method, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
@@ -813,7 +813,7 @@ fullscreen_shell_present_surface_for_mode(struct wl_client *client,
|
|||||||
struct weston_seat *seat;
|
struct weston_seat *seat;
|
||||||
struct fs_output *fsout;
|
struct fs_output *fsout;
|
||||||
|
|
||||||
output = weston_output_from_resource(output_res);
|
output = weston_head_from_resource(output_res)->output;
|
||||||
fsout = fs_output_for_output(output);
|
fsout = fs_output_for_output(output);
|
||||||
|
|
||||||
if (surface_res == NULL) {
|
if (surface_res == NULL) {
|
||||||
|
|||||||
@@ -271,11 +271,13 @@ input_panel_surface_set_toplevel(struct wl_client *client,
|
|||||||
struct input_panel_surface *input_panel_surface =
|
struct input_panel_surface *input_panel_surface =
|
||||||
wl_resource_get_user_data(resource);
|
wl_resource_get_user_data(resource);
|
||||||
struct ivi_shell *shell = input_panel_surface->shell;
|
struct ivi_shell *shell = input_panel_surface->shell;
|
||||||
|
struct weston_head *head;
|
||||||
|
|
||||||
wl_list_insert(&shell->input_panel.surfaces,
|
wl_list_insert(&shell->input_panel.surfaces,
|
||||||
&input_panel_surface->link);
|
&input_panel_surface->link);
|
||||||
|
|
||||||
input_panel_surface->output = weston_output_from_resource(output_resource);
|
head = weston_head_from_resource(output_resource);
|
||||||
|
input_panel_surface->output = head->output;
|
||||||
input_panel_surface->panel = 0;
|
input_panel_surface->panel = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -308,7 +308,7 @@ weston_desktop_wl_shell_surface_protocol_set_fullscreen(struct wl_client *wl_cli
|
|||||||
struct weston_output *output = NULL;
|
struct weston_output *output = NULL;
|
||||||
|
|
||||||
if (output_resource != NULL)
|
if (output_resource != NULL)
|
||||||
output = weston_output_from_resource(output_resource);
|
output = weston_head_from_resource(output_resource)->output;
|
||||||
|
|
||||||
weston_desktop_wl_shell_change_state(surface, FULLSCREEN, NULL, 0, 0);
|
weston_desktop_wl_shell_change_state(surface, FULLSCREEN, NULL, 0, 0);
|
||||||
weston_desktop_api_fullscreen_requested(surface->desktop, dsurface,
|
weston_desktop_api_fullscreen_requested(surface->desktop, dsurface,
|
||||||
|
|||||||
@@ -515,7 +515,7 @@ weston_desktop_xdg_toplevel_protocol_set_fullscreen(struct wl_client *wl_client,
|
|||||||
struct weston_output *output = NULL;
|
struct weston_output *output = NULL;
|
||||||
|
|
||||||
if (output_resource != NULL)
|
if (output_resource != NULL)
|
||||||
output = weston_output_from_resource(output_resource);
|
output = weston_head_from_resource(output_resource)->output;
|
||||||
|
|
||||||
weston_desktop_xdg_toplevel_ensure_added(toplevel);
|
weston_desktop_xdg_toplevel_ensure_added(toplevel);
|
||||||
weston_desktop_api_fullscreen_requested(toplevel->base.desktop, dsurface,
|
weston_desktop_api_fullscreen_requested(toplevel->base.desktop, dsurface,
|
||||||
|
|||||||
@@ -4330,7 +4330,7 @@ bind_output(struct wl_client *client,
|
|||||||
}
|
}
|
||||||
|
|
||||||
wl_list_insert(&head->resource_list, wl_resource_get_link(resource));
|
wl_list_insert(&head->resource_list, wl_resource_get_link(resource));
|
||||||
wl_resource_set_implementation(resource, &output_interface, output,
|
wl_resource_set_implementation(resource, &output_interface, head,
|
||||||
unbind_resource);
|
unbind_resource);
|
||||||
|
|
||||||
assert(output);
|
assert(output);
|
||||||
@@ -4364,8 +4364,8 @@ bind_output(struct wl_client *client,
|
|||||||
* \return The backing object (user data) of a wl_resource representing a
|
* \return The backing object (user data) of a wl_resource representing a
|
||||||
* wl_output protocol object.
|
* wl_output protocol object.
|
||||||
*/
|
*/
|
||||||
WL_EXPORT struct weston_output *
|
WL_EXPORT struct weston_head *
|
||||||
weston_output_from_resource(struct wl_resource *resource)
|
weston_head_from_resource(struct wl_resource *resource)
|
||||||
{
|
{
|
||||||
assert(wl_resource_instance_of(resource, &wl_output_interface,
|
assert(wl_resource_instance_of(resource, &wl_output_interface,
|
||||||
&output_interface));
|
&output_interface));
|
||||||
|
|||||||
@@ -1995,8 +1995,8 @@ weston_output_disable(struct weston_output *output);
|
|||||||
void
|
void
|
||||||
weston_pending_output_coldplug(struct weston_compositor *compositor);
|
weston_pending_output_coldplug(struct weston_compositor *compositor);
|
||||||
|
|
||||||
struct weston_output *
|
struct weston_head *
|
||||||
weston_output_from_resource(struct wl_resource *resource);
|
weston_head_from_resource(struct wl_resource *resource);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -530,7 +530,7 @@ capture_screenshot(struct wl_client *client,
|
|||||||
struct wl_resource *buffer_resource)
|
struct wl_resource *buffer_resource)
|
||||||
{
|
{
|
||||||
struct weston_output *output =
|
struct weston_output *output =
|
||||||
weston_output_from_resource(output_resource);
|
weston_head_from_resource(output_resource)->output;
|
||||||
struct weston_buffer *buffer =
|
struct weston_buffer *buffer =
|
||||||
weston_buffer_from_resource(buffer_resource);
|
weston_buffer_from_resource(buffer_resource);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user