From ed7b633669de64615f91c17259255fa0b5d41d80 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Wed, 7 Jan 2026 12:12:38 -0500 Subject: [PATCH] wlr_scene: Only do disable cleanup when explicit damage is given We don't want to iterate the subtree for trivial update scenarios. We only care when a scene is reparented or disabled in which both cases provides us with explicit damage --- types/scene/wlr_scene.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index 8b13c879a..9bde2678f 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -703,9 +703,9 @@ static void scene_node_update(struct wlr_scene_node *node, int x, y; if (!wlr_scene_node_coords(node, &x, &y)) { - scene_node_cleanup_when_disabled(node, scene->restack_xwayland_surfaces, &scene->outputs); - if (damage) { + scene_node_cleanup_when_disabled(node, scene->restack_xwayland_surfaces, &scene->outputs); + scene_update_region(scene, damage); scene_damage_outputs(scene, damage); pixman_region32_fini(damage);