aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/pgtkterm.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index 7855b7053ab..ce167fdac2f 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -3573,10 +3573,23 @@ pgtk_draw_fringe_bitmap (struct window *w, struct glyph_row *row,
3573 } 3573 }
3574 } 3574 }
3575 3575
3576 if (p->which && p->which < max_fringe_bmp) 3576 if (p->which
3577 && p->which < max_fringe_bmp
3578 && p->which < max_used_fringe_bitmap)
3577 { 3579 {
3578 Emacs_GC gcv; 3580 Emacs_GC gcv;
3579 3581
3582 if (!fringe_bmp[p->which])
3583 {
3584 /* This fringe bitmap is known to fringe.c, but lacks the
3585 cairo_pattern_t pattern which shadows that bitmap. This
3586 is typical to define-fringe-bitmap being called when the
3587 selected frame was not a GUI frame, for example, when
3588 packages that define fringe bitmaps are loaded by a
3589 daemon Emacs. Create the missing pattern now. */
3590 gui_define_fringe_bitmap (f, p->which);
3591 }
3592
3580 gcv.foreground = (p->cursor_p 3593 gcv.foreground = (p->cursor_p
3581 ? (p->overlay_p ? face->background 3594 ? (p->overlay_p ? face->background
3582 : FRAME_X_OUTPUT (f)->cursor_color) 3595 : FRAME_X_OUTPUT (f)->cursor_color)