[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master cba88c275b 1/2: * src/pgtkterm.c (pgtk_draw_fringe_bitmap): Synch
From: |
Po Lu |
Subject: |
master cba88c275b 1/2: * src/pgtkterm.c (pgtk_draw_fringe_bitmap): Synchronize logic with X. |
Date: |
Thu, 3 Mar 2022 20:13:34 -0500 (EST) |
branch: master
commit cba88c275bb2abbd65837fb27530655b0222b62b
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
* src/pgtkterm.c (pgtk_draw_fringe_bitmap): Synchronize logic with X.
---
src/pgtkterm.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index 7855b7053a..ce167fdac2 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -3573,10 +3573,23 @@ pgtk_draw_fringe_bitmap (struct window *w, struct
glyph_row *row,
}
}
- if (p->which && p->which < max_fringe_bmp)
+ if (p->which
+ && p->which < max_fringe_bmp
+ && p->which < max_used_fringe_bitmap)
{
Emacs_GC gcv;
+ if (!fringe_bmp[p->which])
+ {
+ /* This fringe bitmap is known to fringe.c, but lacks the
+ cairo_pattern_t pattern which shadows that bitmap. This
+ is typical to define-fringe-bitmap being called when the
+ selected frame was not a GUI frame, for example, when
+ packages that define fringe bitmaps are loaded by a
+ daemon Emacs. Create the missing pattern now. */
+ gui_define_fringe_bitmap (f, p->which);
+ }
+
gcv.foreground = (p->cursor_p
? (p->overlay_p ? face->background
: FRAME_X_OUTPUT (f)->cursor_color)