summaryrefslogtreecommitdiff
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2002-08-29 14:41:28 +0000
committerRichard M. Stallman <rms@gnu.org>2002-08-29 14:41:28 +0000
commit18155a1d5a93cec23255becab15f26e77cace9e7 (patch)
tree1953d972846a49df882ef7b1387de2401733f48a /src/dispextern.h
parent26683087ad6d9845356845ca6cb441cee5304670 (diff)
downloademacs-18155a1d5a93cec23255becab15f26e77cace9e7.tar.gz
(PRODUCE_GLYPHS): Set inhibit_free_realized_faces
when iterator is adding glyphs to a glyph matrix.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index 682bf0b8f3c..5d82f6f71c1 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1852,10 +1852,16 @@ struct it
/* Call produce_glyphs or produce_glyphs_hook, if set. Shortcut to
avoid the function call overhead. */
-#define PRODUCE_GLYPHS(IT) \
- (rif \
- ? rif->produce_glyphs ((IT)) \
- : produce_glyphs ((IT)))
+#define PRODUCE_GLYPHS(IT) \
+ do { \
+ extern int inhibit_free_realized_faces; \
+ if (rif != NULL) \
+ rif->produce_glyphs ((IT)); \
+ else \
+ produce_glyphs ((IT)); \
+ if ((IT)->glyph_row != NULL) \
+ inhibit_free_realized_faces = 1; \
+ } while (0)
/* Bit-flags indicating what operation move_it_to should perform. */