wayland: use PIXMAN_OP_SRC for fill_rect to replace stale content

fill_rect used PIXMAN_OP_OVER which blends over existing pixels.
Uninitialized view backing images retained stale pixel data (e.g.
from icon tiles previously in that heap region), causing visual
artifacts like appicons showing through editmenu entries in WPrefs.

SRC fully replaces destination pixels, eliminating bleed-through.
This commit is contained in:
lkn 2026-06-26 07:29:02 +02:00
parent 09d3895642
commit 53d8d82e3a
1 changed files with 1 additions and 1 deletions

View File

@ -166,7 +166,7 @@ render_wl_fill_rect(void *rctx, WMDrawable d, WMColor *color,
(void)rctx;
pixman_image_t *dst = resolve_drawable(d); if (!dst) return;
pixman_color_t pc = wm_color_to_pixman(color);
pixman_image_fill_rectangles(PIXMAN_OP_OVER, dst, &pc, 1,
pixman_image_fill_rectangles(PIXMAN_OP_SRC, dst, &pc, 1,
&(pixman_rectangle16_t){x, y, w, h});
/* Outside a full redisplay cycle, propagate dirty region up the
* view tree and commit the toplevel so the change becomes visible