From 431e8a7fd7d459d740e14f3ad9fd7a6aab62eeb8 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 20 Feb 2024 11:04:46 +0100 Subject: [PATCH] scene: ignore duplicate wlr_scene_output_layout_add_output() calls An assert was added in [1] to avoid tracking the same output multiple times. However, this is cumbersome for compositors [2]: they need to add a special check for this. Additionally, this is inconsistent with wlr_output_layout_add(). [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4380 [2]: https://github.com/cage-kiosk/cage/pull/315 --- types/scene/output_layout.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/types/scene/output_layout.c b/types/scene/output_layout.c index 42683f88d..88185904e 100644 --- a/types/scene/output_layout.c +++ b/types/scene/output_layout.c @@ -75,7 +75,9 @@ void wlr_scene_output_layout_add_output(struct wlr_scene_output_layout *sol, struct wlr_scene_output_layout_output *solo; wl_list_for_each(solo, &sol->outputs, link) { - assert(solo->scene_output != so); + if (solo->scene_output == so) { + return; + } } solo = calloc(1, sizeof(*solo));