diff options
| -rw-r--r-- | src/pgtkterm.c | 15 |
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) |