(realize_x_face): If C is not a single-byte character,
authorGerd Moellmann <gerd@gnu.org>
Wed, 31 Oct 2001 11:10:25 +0000 (11:10 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 31 Oct 2001 11:10:25 +0000 (11:10 +0000)
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.

src/xfaces.c

index 324470b..08db995 100644 (file)
@@ -1664,6 +1664,9 @@ free_face_colors (f, face)
      struct face *face;
 {
 #ifdef HAVE_X_WINDOWS
+  if (face->colors_copied_bitwise_p)
+    return;
+
   BLOCK_INPUT;
 
   if (!face->foreground_defaulted_p)
@@ -6350,12 +6353,7 @@ realize_x_face (cache, attrs, c, base_face)
       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;