From f4dea99ef832601fea53137c0bc9843182b796df Mon Sep 17 00:00:00 2001 From: Jeffy Chen Date: Sat, 7 May 2022 16:41:20 +0800 Subject: [PATCH 26/93] Avoid adding views to other outputs The outputs can be overlapped now. Signed-off-by: Jeffy Chen --- libweston/compositor.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libweston/compositor.c b/libweston/compositor.c index 306b2c6..2e56db2 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -1323,6 +1323,7 @@ weston_view_set_output(struct weston_view *view, struct weston_output *output) } view->output = output; if (output) { + view->output_mask = output->id; view->output_destroy_listener.notify = notify_view_output_destroy; wl_signal_add(&output->destroy_signal, @@ -3169,6 +3170,10 @@ view_list_add(struct weston_compositor *compositor, struct weston_paint_node *pnode; struct weston_subsurface *sub; + /* HACK: Avoid adding views to other outputs */ + if (output && !(view->output_mask & 1 << output->id)) + output = NULL; + weston_view_update_transform(view); /* It is possible for a view to appear in the layer list even though -- 2.20.1