From d6e316db729718f93772cec2e5166f54a920c0e3 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sun, 8 May 2022 21:28:28 +0800 Subject: [PATCH] Fix display of fringes with stipples on X * src/xterm.c (x_draw_fringe_bitmap): Set fill style and use fill function correctly. --- src/xterm.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index fe9531bdb4e..d32bdea843a 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -5762,15 +5762,19 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fring mono-displays, the fill style may have been changed to FillSolid in x_draw_glyph_string_background. */ if (face->stipple) - XSetFillStyle (display, face->gc, FillOpaqueStippled); + { + XSetFillStyle (display, face->gc, FillOpaqueStippled); + x_fill_rectangle (f, face->gc, p->bx, p->by, p->nx, p->ny, + true); + XSetFillStyle (display, face->gc, FillSolid); + } else - XSetBackground (display, face->gc, face->background); - - x_clear_rectangle (f, face->gc, p->bx, p->by, p->nx, p->ny, - true); - - if (!face->stipple) - XSetForeground (display, face->gc, face->foreground); + { + XSetBackground (display, face->gc, face->background); + x_clear_rectangle (f, face->gc, p->bx, p->by, p->nx, p->ny, + true); + XSetForeground (display, face->gc, face->foreground); + } } #ifdef USE_CAIRO -- 2.39.2