1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2024-11-25 14:06:08 -05:00

backend/xrender: fix rounded corner mask for blit

The coordinate conversions were wrong here too.

Fixes #1352

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Yuxuan Shui 2024-10-13 00:25:27 +01:00
parent 3b117e217a
commit f3eec99f8e
No known key found for this signature in database
GPG key ID: D3A4405BE6CC17F4
2 changed files with 4 additions and 1 deletions

View file

@ -8,6 +8,7 @@
* Fix memory corruption that can happen when handling window property changes (#1350)
* Fix `force-win-blend` having no effect (#1354)
* Fix shadow being rendered incorrectly in xrender backend (#1352)
# 12.2 (2024-Oct-10)

View file

@ -289,7 +289,9 @@ static bool xrender_blit(struct backend_base *base, ivec2 origin,
int16_t mask_pict_dst_x = 0, mask_pict_dst_y = 0;
if (args->source_mask != NULL) {
ivec2 mask_origin = args->source_mask->origin;
mask_pict = xrender_process_mask(xd, args->source_mask, extent,
auto extent_to_mask =
region_translate_rect(extent, ivec2_neg(ivec2_add(mask_origin, origin)));
mask_pict = xrender_process_mask(xd, args->source_mask, extent_to_mask,
args->opacity < 1.0 ? mask_pict : XCB_NONE,
&mask_origin, &mask_allocated);
mask_pict_dst_x = to_i16_checked(-mask_origin.x);