From 134abc9308dc93578d981200ae0ba4e3a7b58158 Mon Sep 17 00:00:00 2001 From: Jeffy Chen Date: Sat, 7 May 2022 16:41:20 +0800 Subject: [PATCH 23/74] 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 b959424..02d1fa1 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -1314,6 +1314,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, @@ -2834,6 +2835,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); pnode = view_ensure_paint_node(view, output); -- 2.20.1