diff options
author | Johan Bockgård <[email protected]> | 2012-01-09 17:44:18 +0800 |
---|---|---|
committer | Chong Yidong <[email protected]> | 2012-01-09 17:44:18 +0800 |
commit | 1ba94341834d2846ca3bde3e5c1154fb365b7360 (patch) | |
tree | 64ba0109696553cd0d1d6fa1a0fafe1971f9f6d6 | |
parent | 3f235eece06afee170bf143cfde2ca8702384e75 (diff) |
Avoid crash on composition (backport from trunk).
* xdisp.c (fill_composite_glyph_string): Always set s->face, to
avoid a crash (bug#9496).
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/xdisp.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index fcaff20727..7cfb3aa61e 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-11-11 Johan Bockgård <[email protected]> + + * xdisp.c (fill_composite_glyph_string): Always set s->face, to + avoid a crash (bug#9496). + 2012-01-09 Chong Yidong <[email protected]> * xdisp.c (note_mouse_highlight): Fix use of uninitialized var. diff --git a/src/xdisp.c b/src/xdisp.c index c0c11bf02d..ca61947be8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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; |