aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFenveireth <fenveireth@lhfblc.fr>2025-07-20 12:47:39 +0000
committerSimon Ser <contact@emersion.fr>2025-07-20 15:16:03 +0200
commite50b16a69969d136595efe2b595cf55c9cef39fb (patch)
tree245f335dc75f377790a971352a5633cc66f2d315
parentcb33701f5ee742b659afd660fa98c294f6faf5a8 (diff)
tree/view: save new wlr_scene_buffer fields
Visble flicker can occur during transactions, if these are not copied to the 'saved' scene
-rw-r--r--sway/tree/view.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 61aa5377..3d621124 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -1206,6 +1206,10 @@ static void view_save_buffer_iterator(struct wlr_scene_buffer *buffer,
wlr_scene_buffer_set_dest_size(sbuf,
buffer->dst_width, buffer->dst_height);
wlr_scene_buffer_set_opaque_region(sbuf, &buffer->opaque_region);
+ wlr_scene_buffer_set_opacity(sbuf, buffer->opacity);
+ wlr_scene_buffer_set_filter_mode(sbuf, buffer->filter_mode);
+ wlr_scene_buffer_set_transfer_function(sbuf, buffer->transfer_function);
+ wlr_scene_buffer_set_primaries(sbuf, buffer->primaries);
wlr_scene_buffer_set_source_box(sbuf, &buffer->src_box);
wlr_scene_node_set_position(&sbuf->node, sx, sy);
wlr_scene_buffer_set_transform(sbuf, buffer->transform);