1*4882a593SmuzhiyunFrom 6339c12d59e740347c9c6a5922e3a9acf4def32c Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Jeffy Chen <jeffy.chen@rock-chips.com> 3*4882a593SmuzhiyunDate: Sat, 7 May 2022 16:41:20 +0800 4*4882a593SmuzhiyunSubject: [PATCH 23/79] Avoid adding views to other outputs 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunThe outputs can be overlapped now. 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSigned-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> 9*4882a593Smuzhiyun--- 10*4882a593Smuzhiyun libweston/compositor.c | 5 +++++ 11*4882a593Smuzhiyun 1 file changed, 5 insertions(+) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundiff --git a/libweston/compositor.c b/libweston/compositor.c 14*4882a593Smuzhiyunindex b959424..02d1fa1 100644 15*4882a593Smuzhiyun--- a/libweston/compositor.c 16*4882a593Smuzhiyun+++ b/libweston/compositor.c 17*4882a593Smuzhiyun@@ -1314,6 +1314,7 @@ weston_view_set_output(struct weston_view *view, struct weston_output *output) 18*4882a593Smuzhiyun } 19*4882a593Smuzhiyun view->output = output; 20*4882a593Smuzhiyun if (output) { 21*4882a593Smuzhiyun+ view->output_mask |= output->id; 22*4882a593Smuzhiyun view->output_destroy_listener.notify = 23*4882a593Smuzhiyun notify_view_output_destroy; 24*4882a593Smuzhiyun wl_signal_add(&output->destroy_signal, 25*4882a593Smuzhiyun@@ -2834,6 +2835,10 @@ view_list_add(struct weston_compositor *compositor, 26*4882a593Smuzhiyun struct weston_paint_node *pnode; 27*4882a593Smuzhiyun struct weston_subsurface *sub; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun+ /* HACK: Avoid adding views to other outputs */ 30*4882a593Smuzhiyun+ if (output && !(view->output_mask & 1 << output->id)) 31*4882a593Smuzhiyun+ output = NULL; 32*4882a593Smuzhiyun+ 33*4882a593Smuzhiyun weston_view_update_transform(view); 34*4882a593Smuzhiyun pnode = view_ensure_paint_node(view, output); 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun-- 37*4882a593Smuzhiyun2.20.1 38*4882a593Smuzhiyun 39