set the face's colors_copied_bitwise_p instead of the defaulted_p
members which have a different meaning.
(free_face_colors): Do nothing for a face whose colors have been
copied bitwise.
2001-10-31 Gerd Moellmann <gerd@gnu.org>
+ * xfaces.c (realize_x_face): If C is not a single-byte character,
+ set the face's colors_copied_bitwise_p instead of the defaulted_p
+ members which have a different meaning.
+ (free_face_colors): Do nothing for a face whose colors have been
+ copied bitwise.
+
+ * dispextern.h (struct face) <colors_copied_bitwise_p>: New
+ member.
+
* window.c (grow_mini_window): Handle case that the root
window is already smaller than the nominal mininum height.
struct face *face;
{
#ifdef HAVE_X_WINDOWS
+ if (face->colors_copied_bitwise_p)
+ return;
+
BLOCK_INPUT;
if (!face->foreground_defaulted_p)
face->gc = 0;
/* Don't try to free the colors copied bitwise from BASE_FACE. */
- face->foreground_defaulted_p = 1;
- face->background_defaulted_p = 1;
- face->underline_defaulted_p = 1;
- face->overline_color_defaulted_p = 1;
- face->strike_through_color_defaulted_p = 1;
- face->box_color_defaulted_p = 1;
+ face->colors_copied_bitwise_p = 1;
/* to force realize_face to load font */
face->font = NULL;