]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix display of fringes with stipples on X
authorPo Lu <luangruo@yahoo.com>
Sun, 8 May 2022 13:28:28 +0000 (21:28 +0800)
committerPo Lu <luangruo@yahoo.com>
Sun, 8 May 2022 13:28:28 +0000 (21:28 +0800)
* src/xterm.c (x_draw_fringe_bitmap): Set fill style and use
fill function correctly.

src/xterm.c

index fe9531bdb4e01a5535056b323e1a76be2422e823..d32bdea843a054ebac271cdaa3012ce6cca8c591 100644 (file)
@@ -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