changeset 47101:8deb7414f946

(PRODUCE_GLYPHS): Set inhibit_free_realized_faces when iterator is adding glyphs to a glyph matrix.
author Richard M. Stallman <rms@gnu.org>
date Thu, 29 Aug 2002 14:41:28 +0000
parents c7ddac695d06
children c5cfe5722546
files src/dispextern.h
diffstat 1 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/dispextern.h	Thu Aug 29 14:41:09 2002 +0000
+++ b/src/dispextern.h	Thu Aug 29 14:41:28 2002 +0000
@@ -1852,10 +1852,16 @@
 /* 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.  */