output: set damage ring bounds to pixel values

Fixes: https://github.com/swaywm/sway/issues/7254
This commit is contained in:
Kirill Primak 2022-11-12 12:58:48 +03:00 committed by Simon Ser
parent 34933bb843
commit 85005b52fe

View file

@ -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);
}
}