]> git.eshelyaron.com Git - emacs.git/commitdiff
(realize_x_face): If C is not a single-byte character,
authorGerd Moellmann <gerd@gnu.org>
Wed, 31 Oct 2001 11:13:56 +0000 (11:13 +0000)
committerGerd Moellmann <gerd@gnu.org>
Wed, 31 Oct 2001 11:13:56 +0000 (11:13 +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/ChangeLog
src/xfaces.c

index c4e664dc849ea8c3ab71c359ccb8010844897aa4..a7707dfa3dd3bc0e64a7a028c2cd84970ccb3eef 100644 (file)
@@ -1,5 +1,14 @@
 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.
 
index dbcc7d772242f7613f8f9ed3dab8c449eabea2dd..cc1a0b25760e2d5f227deb313f1a3eebc8ac1b44 100644 (file)
@@ -1665,6 +1665,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)
@@ -6312,12 +6315,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;