GNU bug report logs -
#11813
Segmentation fault on launch related to x_draw_glyph_string_background
Previous Next
Full log
Message #73 received at 11813 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> OK, then does the following patch fix the problem?
>
> --- src/xdisp.c 2012-07-05 16:28:34 +0000
> +++ src/xdisp.c 2012-07-05 16:51:53 +0000
> @@ -22604,7 +22604,7 @@ fill_glyphless_glyph_string (struct glyp
> last = s->row->glyphs[s->area] + end;
> voffset = glyph->voffset;
> s->face = FACE_FROM_ID (s->f, face_id);
> - s->font = s->face->font;
> + s->font = s->face->font ? s->face->font : FRAME_FONT (s->f);
> s->nchars = 1;
> s->width = glyph->pixel_width;
> glyph++;
This patch is correct, please commit it. Indeed, when creating
glyphless glyphs, we cannot assume that the face has a well-defined
font, because of the case where font loading during face realization
fails.
I'm not sure why font loading fails in the reporter's specific case, but
it's very likely a system misconfiguration. One way to induce this bug
is to delete a font file, or change its permissions so that it becomes
unreadable. When you do this, the fontconfig cache will tell Emacs that
the font exists, but then Emacs fails to load the font when it tries,
triggering this bug.
The reporter should try running `fc-cache -fs' and see if the problem
goes away.
This bug report was last modified 12 years and 155 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.