diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 8e33893c9..2996e135c 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -312,7 +312,8 @@ static void render_saved_view(struct sway_view *view, scale_box(&box, wlr_output->scale); float matrix[9]; - wlr_matrix_project_box(matrix, &box, saved_buf->transform, 0, + enum wl_output_transform transform = wlr_output_transform_invert(saved_buf->transform); + wlr_matrix_project_box(matrix, &box, transform, 0, wlr_output->transform_matrix); render_texture(wlr_output, damage, saved_buf->buffer->texture, diff --git a/sway/tree/view.c b/sway/tree/view.c index 29757b0db..314fd3819 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -1199,7 +1199,7 @@ static void view_save_buffer_iterator(struct wlr_surface *surface, saved_buffer->height = surface->current.height; saved_buffer->x = sx; saved_buffer->y = sy; - saved_buffer->transform = wlr_output_transform_invert(surface->current.transform); + saved_buffer->transform = surface->current.transform; wl_list_insert(&view->saved_buffers, &saved_buffer->link); } }