mirror of
				https://github.com/yshui/picom.git
				synced 2025-10-30 23:46:46 -04: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:
		
							parent
							
								
									3b117e217a
								
							
						
					
					
						commit
						f3eec99f8e
					
				
					 2 changed files with 4 additions and 1 deletions
				
			
		| 
						 | 
					@ -8,6 +8,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Fix memory corruption that can happen when handling window property changes (#1350)
 | 
					* Fix memory corruption that can happen when handling window property changes (#1350)
 | 
				
			||||||
* Fix `force-win-blend` having no effect (#1354)
 | 
					* Fix `force-win-blend` having no effect (#1354)
 | 
				
			||||||
 | 
					* Fix shadow being rendered incorrectly in xrender backend (#1352)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# 12.2 (2024-Oct-10)
 | 
					# 12.2 (2024-Oct-10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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;
 | 
						int16_t mask_pict_dst_x = 0, mask_pict_dst_y = 0;
 | 
				
			||||||
	if (args->source_mask != NULL) {
 | 
						if (args->source_mask != NULL) {
 | 
				
			||||||
		ivec2 mask_origin = args->source_mask->origin;
 | 
							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,
 | 
							                                 args->opacity < 1.0 ? mask_pict : XCB_NONE,
 | 
				
			||||||
		                                 &mask_origin, &mask_allocated);
 | 
							                                 &mask_origin, &mask_allocated);
 | 
				
			||||||
		mask_pict_dst_x = to_i16_checked(-mask_origin.x);
 | 
							mask_pict_dst_x = to_i16_checked(-mask_origin.x);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue