summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mader <robert.mader@posteo.de>2021-03-18 13:37:57 +0100
committerMarge Bot <marge-bot@gnome.org>2021-03-29 15:17:48 +0000
commit52547cb9ea6bf5ea3a64780f17a71cb8af1cb458 (patch)
treef63434675c2ce1cfa9453003674acb4ba7597f50
parent1d82e0f23650e3bc77e7b77724ccd5ea446adfa3 (diff)
downloadmutter-52547cb9ea6bf5ea3a64780f17a71cb8af1cb458.tar.gz
shaped-texture: Viewport update calculation fixes
If only a viewport destination size is set, the noop viewport has to take the buffer scale into account. If a viewport source but no viewport destination size is set, the destination size is that of the viewport source, not of the whole texture. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1786>
-rw-r--r--src/compositor/meta-shaped-texture.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compositor/meta-shaped-texture.c b/src/compositor/meta-shaped-texture.c
index 547ff4d35..6ff934386 100644
--- a/src/compositor/meta-shaped-texture.c
+++ b/src/compositor/meta-shaped-texture.c
@@ -1031,8 +1031,8 @@ meta_shaped_texture_update_area (MetaShapedTexture *stex,
viewport = (graphene_rect_t) {
.origin.x = 0,
.origin.y = 0,
- .size.width = stex->tex_width,
- .size.height = stex->tex_height,
+ .size.width = stex->tex_width / stex->buffer_scale,
+ .size.height = stex->tex_height / stex->buffer_scale,
};
}
@@ -1043,8 +1043,8 @@ meta_shaped_texture_update_area (MetaShapedTexture *stex,
}
else
{
- dst_width = (float) stex->tex_width;
- dst_height = (float) stex->tex_height;
+ dst_width = (float) viewport.size.width;
+ dst_height = (float) viewport.size.height;
}
inverted_viewport = (graphene_rect_t) {