HYL_OK3568_LINUX/buildroot/package/weston/0026-Avoid-adding-views-to-other-outputs.patch
2025-05-10 21:49:39 +08:00

39 lines
1.2 KiB
Diff

From f4dea99ef832601fea53137c0bc9843182b796df Mon Sep 17 00:00:00 2001
From: Jeffy Chen <jeffy.chen@rock-chips.com>
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 <jeffy.chen@rock-chips.com>
---
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