GNU bug report logs -
#9496
24.0.50; Segfault on TAB-only composition
Previous Next
Reported by: Johan Bockgård <bojohan <at> gnu.org>
Date: Tue, 13 Sep 2011 20:27:01 UTC
Severity: important
Merged with 9775
Found in versions 24.0.50, 24.0.90
Done: Chong Yidong <cyd <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
(insert (compose-string "\t"))
Program received signal SIGSEGV, Segmentation fault.
0x00000000004d45d4 in x_set_glyph_string_gc (s=0x7fffffffae80) at xterm.c:1061
1061 PREPARE_FACE_FOR_DISPLAY (s->f, s->face);
(gdb) bt
#0 0x00000000004d45d4 in x_set_glyph_string_gc (s=0x7fffffffae80)
at xterm.c:1061
#1 x_draw_glyph_string (s=0x7fffffffae80) at xterm.c:2683
This problem is not new, but due to other changes it now makes
`describe-char' (C-u C-x =) crash when executed on a tab character.
2011-09-13 Johan Bockgård <bojohan <at> gnu.org>
* xdisp.c (fill_composite_glyph_string): Always set s->face, to
avoid a crash.
=== modified file 'src/xdisp.c'
--- src/xdisp.c 2011-09-09 01:06:52 +0000
+++ src/xdisp.c 2011-09-11 15:03:56 +0000
@@ -21745,6 +21749,12 @@ fill_composite_glyph_string (struct glyp
}
s->cmp_to = i;
+ if (s->face == NULL)
+ {
+ s->face = base_face->ascii_face;
+ s->font = s->face->font;
+ }
+
/* All glyph strings for the same composition has the same width,
i.e. the width set for the first component of the composition. */
s->width = s->first_glyph->pixel_width;
This bug report was last modified 13 years and 171 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.