Avoid crash on composition (backport from trunk).
authorJohan Bockgård <bojohan@gnu.org>
Mon, 9 Jan 2012 09:44:18 +0000 (17:44 +0800)
committerChong Yidong <cyd@gnu.org>
Mon, 9 Jan 2012 09:44:18 +0000 (17:44 +0800)
* xdisp.c (fill_composite_glyph_string): Always set s->face, to
avoid a crash (bug#9496).

src/ChangeLog
src/xdisp.c

index fcaff20..7cfb3aa 100644 (file)
@@ -1,3 +1,8 @@
+2011-11-11  Johan Bockgård  <bojohan@gnu.org>
+
+       * xdisp.c (fill_composite_glyph_string): Always set s->face, to
+       avoid a crash (bug#9496).
+
 2012-01-09  Chong Yidong  <cyd@gnu.org>
 
        * xdisp.c (note_mouse_highlight): Fix use of uninitialized var.
index c0c11bf..ca61947 100644 (file)
@@ -19635,6 +19635,12 @@ fill_composite_glyph_string (s, base_face, overlaps)
     }
   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;