diff options
author | Richard M. Stallman <rms@gnu.org> | 2002-08-29 14:41:28 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2002-08-29 14:41:28 +0000 |
commit | 18155a1d5a93cec23255becab15f26e77cace9e7 (patch) | |
tree | 1953d972846a49df882ef7b1387de2401733f48a /src/dispextern.h | |
parent | 26683087ad6d9845356845ca6cb441cee5304670 (diff) | |
download | emacs-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.h | 14 |
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. */ |