wlroots/types/scene
Simon Ser eb02e65df4 scene: intersect visible area with output layout in update_node_update_outputs()
A node can have a visible area outside the output layout bounds.
In that case, it will not pass the overlap check. For instance,
with a single output, a 100x100 px weston-simple-shm would stop
animating when moving it close to an edge and leaving less than a
~30x30 px square visible.

Fix this by intersecting the node's visible region with the output
layout region so that the 10% overlap target is always reachable.

Switch to a strict comparison in case visible_area is zero.

(cherry picked from commit d70c84b571)
2026-07-07 12:04:27 -04:00
..
drag_icon.c wlr_scene: Don't disable scene nodes at creation time 2024-07-04 14:35:52 -04:00
layer_shell_v1.c scene/layer_shell_v1: Add support for exclusive_edge 2026-02-24 13:28:46 +00:00
output_layout.c scene: ignore duplicate wlr_scene_output_layout_add_output() calls 2024-02-20 11:04:46 +01:00
subsurface_tree.c scene: constify subsurface_tree_set_clip() 2024-03-20 12:56:28 +01:00
surface.c scene: only send leave events to outputs with matching scene root 2026-05-19 15:56:40 -04:00
wlr_scene.c scene: intersect visible area with output layout in update_node_update_outputs() 2026-07-07 12:04:27 -04:00
xdg_shell.c xdg-surface: fix window geometry handling 2024-08-14 18:52:13 +00:00