diff options
author | Alexander Orzechowski <alex@ozal.ski> | 2023-06-13 20:51:20 -0400 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2023-06-15 14:57:51 +0000 |
commit | 61667404ce9093e669df7fd1efa9b68698ca5639 (patch) | |
tree | 817dc22183ffebbd647e88a04aa1656b7cffd979 | |
parent | 96b95bf775c886c083d76fb25f897fee7c907c3d (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.c | 4 |
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; } |