scene: fix buffer source box transforming

This commit is contained in:
Kirill Primak 2022-11-05 13:34:29 +03:00
parent 3b75ab97e2
commit 92e3c5b798

View file

@ -613,16 +613,13 @@ void wlr_scene_buffer_set_buffer_with_damage(struct wlr_scene_buffer *scene_buff
if (wlr_fbox_empty(&box)) { if (wlr_fbox_empty(&box)) {
box.x = 0; box.x = 0;
box.y = 0; box.y = 0;
box.width = buffer->width;
if (scene_buffer->transform & WL_OUTPUT_TRANSFORM_90) { box.height = buffer->height;
box.width = buffer->height;
box.height = buffer->width;
} else {
box.width = buffer->width;
box.height = buffer->height;
}
} }
wlr_fbox_transform(&box, &box, scene_buffer->transform,
buffer->width, buffer->height);
double scale_x, scale_y; double scale_x, scale_y;
if (scene_buffer->dst_width || scene_buffer->dst_height) { if (scene_buffer->dst_width || scene_buffer->dst_height) {
scale_x = scene_buffer->dst_width / box.width; scale_x = scene_buffer->dst_width / box.width;