bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#9496: 24.0.50; Segfault on TAB-only composition


From: Johan Bockgård
Subject: bug#9496: 24.0.50; Segfault on TAB-only composition
Date: Tue, 13 Sep 2011 22:22:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

(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  <address@hidden>

        * 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;






reply via email to

[Prev in Thread] Current Thread [Next in Thread]