From 85005b52fe5b832e4ea914fa28048b0c5c803769 Mon Sep 17 00:00:00 2001 From: Kirill Primak Date: Sat, 12 Nov 2022 12:58:48 +0300 Subject: [PATCH] output: set damage ring bounds to pixel values Fixes: https://github.com/swaywm/sway/issues/7254 --- sway/desktop/output.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 75651a7aa..81a20e255 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -840,8 +840,9 @@ static void handle_mode(struct wl_listener *listener, void *data) { arrange_output(output); transaction_commit_dirty(); - wlr_damage_ring_set_bounds(&output->damage_ring, - output->width, output->height); + int width, height; + wlr_output_transformed_resolution(output->wlr_output, &width, &height); + wlr_damage_ring_set_bounds(&output->damage_ring, width, height); wlr_output_schedule_frame(output->wlr_output); update_output_manager_config(output->server); @@ -872,11 +873,10 @@ static void handle_commit(struct wl_listener *listener, void *data) { update_output_manager_config(output->server); } - if (event->committed & (WLR_OUTPUT_STATE_MODE | - WLR_OUTPUT_STATE_TRANSFORM | - WLR_OUTPUT_STATE_SCALE)) { - wlr_damage_ring_set_bounds(&output->damage_ring, - output->width, output->height); + if (event->committed & (WLR_OUTPUT_STATE_MODE | WLR_OUTPUT_STATE_TRANSFORM)) { + int width, height; + wlr_output_transformed_resolution(output->wlr_output, &width, &height); + wlr_damage_ring_set_bounds(&output->damage_ring, width, height); wlr_output_schedule_frame(output->wlr_output); } }