aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orzechowski <alex@ozal.ski>2023-06-13 20:51:20 -0400
committerSimon Ser <contact@emersion.fr>2023-06-15 14:57:51 +0000
commit61667404ce9093e669df7fd1efa9b68698ca5639 (patch)
tree817dc22183ffebbd647e88a04aa1656b7cffd979
parent96b95bf775c886c083d76fb25f897fee7c907c3d (diff)
wlr_scene: Clear damage ring on scale change
If we were trying to change the scale in wlr_scene_output_build_state, we would be using incorrect damage
-rw-r--r--types/scene/wlr_scene.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c
index f3a0db34..32efa4b6 100644
--- a/types/scene/wlr_scene.c
+++ b/types/scene/wlr_scene.c
@@ -1590,6 +1590,10 @@ bool wlr_scene_output_build_state(struct wlr_scene_output *scene_output,
}
if (state->committed & WLR_OUTPUT_STATE_SCALE) {
+ if (render_data.scale != state->scale) {
+ wlr_damage_ring_add_whole(&scene_output->damage_ring);
+ }
+
render_data.scale = state->scale;
}