diff src/faces.c @ 62:28a7c63c7e1e r19-16-pre6

Import from CVS: tag r19-16-pre6
author cvs
date Mon, 13 Aug 2007 08:59:13 +0200
parents 859a2309aef8
children 131b0175ea99
line wrap: on
line diff
--- a/src/faces.c	Mon Aug 13 08:59:00 2007 +0200
+++ b/src/faces.c	Mon Aug 13 08:59:13 2007 +0200
@@ -1217,6 +1217,26 @@
       FROB (background);
       FROB (display_table);
       FROB (background_pixmap);
+
+      /*
+       * A face's background pixmap will override the face's
+       * background color.  But the background pixmap of the
+       * default face should not override the background color of
+       * a face if the background color has been specified or
+       * inherited.
+       *
+       * To accomplish this we remove the background pixmap of the
+       * cachel and mark it as having been specified so that cachel
+       * merging won't override it later.
+       */
+      if (! default_face
+	  && cachel->background_specified
+	  && ! cachel->background_pixmap_specified)
+	{
+	  cachel->background_pixmap = Qunbound;
+	  cachel->background_pixmap_specified = 1;
+	}
+
 #undef FROB
 
       ensure_face_cachel_contains_charset (cachel, domain, Vcharset_ascii);