aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa <handa@etlken>2010-07-26 13:28:02 +0900
committerKenichi Handa <handa@etlken>2010-07-26 13:28:02 +0900
commitdfe3c90fa5974e200483297e11bb889d0589b8f5 (patch)
tree50c603b0bf35940798797e011859da695a69cf2a /src
parentdd86ea1155171345fd2e5bdae2cc2439ab851bc9 (diff)
font.c (Ffont_shape_gstring): Terminate GSTRING by nil if the number of glyphs gets smaller than the original length.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/font.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 414f22d3bf..7e79e65b0c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2010-07-26 Kenichi Handa <[email protected]>
+
+ * font.c (Ffont_shape_gstring): Terminate GSTRING by nil if the
+ number of glyphs gets smaller than the original length.
+
2010-07-20 Juanma Barranquero <[email protected]>
* alloc.c (emacs_blocked_free, emacs_blocked_malloc)
diff --git a/src/font.c b/src/font.c
index cb3e9c5d32..ed4da9c75a 100644
--- a/src/font.c
+++ b/src/font.c
@@ -4492,6 +4492,8 @@ created glyph-string. Otherwise, the value is nil. */)
}
if (i == 3 || XINT (n) == 0)
return Qnil;
+ if (XINT (n) < LGSTRING_GLYPH_LEN (gstring))
+ LGSTRING_SET_GLYPH (gstring, XINT (n), Qnil);
glyph = LGSTRING_GLYPH (gstring, 0);
from = LGLYPH_FROM (glyph);