From xemacs-m  Fri Sep 26 12:59:15 1997
Received: from relay6.UU.NET (relay6.UU.NET [192.48.96.16])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id MAA26113
	for <xemacs-beta@xemacs.org>; Fri, 26 Sep 1997 12:59:13 -0500 (CDT)
Received: from crystal.WonderWorks.COM by relay6.UU.NET with ESMTP 
	(peer crosschecked as: crystal.WonderWorks.com [192.203.206.1])
	id QQdirv12271; Fri, 26 Sep 1997 13:59:30 -0400 (EDT)
Received: by crystal.WonderWorks.COM 
	id QQdirv22704; Fri, 26 Sep 1997 13:59:16 -0400 (EDT)
Date: Fri, 26 Sep 1997 13:59:16 -0400 (EDT)
Message-Id: <QQdirv22704.199709261759@crystal.WonderWorks.COM>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="whE8vl4TTv"
Content-Transfer-Encoding: 7bit
From: Kyle Jones <kyle_jones@wonderworks.com>
To: xemacs-beta@xemacs.org
Subject: [PATCH] 20.3-b23: fix for default background pixmap
                           overridding background color of another face.
X-Mailer: VM 6.34 under 20.3 "Sarajevo" XEmacs  Lucid (beta23)
X-Face: /cA45WHG7jWq>(O3&Z57Y<"WsX5ddc,4c#w0F*zrV#=M
        0@~@,s;b,aMtR5Sqs"+nU.z^CSFQ9t`z2>W,S,]:[+2^
        Nbf6v4g>!&,7R4Ot4Wg{&tm=WX7P["9%a)_da48-^tGy
        ,qz]Z,Zz\{E.,]'EO+F)@$KtF&V


--whE8vl4TTv
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

This message reminded me that I was supposed to fix this problem.


--whE8vl4TTv
Content-Type: message/rfc822
Content-Disposition: attachment
Content-Transfer-Encoding: 7bit

Received: by crystal.WonderWorks.COM 
	id QQdiru22425; Fri, 26 Sep 1997 13:39:40 -0400 (EDT)
Path: news.wonderworks.com!uunet!in5.uu.net!news2.epix.net!cdc2.cdc.net!news.maxwell.syr.edu!eerie.fr!cnusc.fr!univ-lyon1.fr!newsserver.cilea.it!news
Organization: CILEA
Lines: 23
Message-ID: <rgk9g5bsay.fsf@boffi95.stru.polimi.it>
NNTP-Posting-Host: boffi95.stru.polimi.it
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=US-ASCII
X-Newsreader: Gnus v5.4.59/XEmacs 19.16 - "Manhattan"
From: giacomo boffi <boffi@rachele.stru.polimi.it>
Sender: jim@boffi95.stru.polimi.it
Newsgroups: comp.emacs.xemacs
To: undisclosed-recipients:;
Subject: using a pixmap as background [in 19.16 pr 3]
Date: 25 Sep 1997 12:29:09 +0200

(insert (emacs-version)) XEmacs 19.16 "Manhattan" [Lucid]
(i586-unknown-linux2.0.27) of Mon Sep 22 1997 on boffi95

i experimented a little with pixmap backgrounds, i.e., i put in my
.Xdefaults the line

Emacs.default.attributeBackgroundPixmap: ~/.overlap.xpm

and all is fine, except that i miss all of the highligting that were
done by changing the background, e.g., the green backround you get
when moving over a clickable part of an Info buffer

having feedback when moving the mouse being better than a fancy
background, i plan to remove the above from my .Xdefaults, unless some
kind soul explains to me and everyone the proper incantation to have
back the hilighting

tia for any help or advice
                                                                gb

-- 
Olimpia Milano Jugoplastica Split Partizan Beograd
Roberto Premier Duska Ivanovic Zarko Paspalj

--whE8vl4TTv
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit


Here is the patch.

Fri Sep 26 13:55:28 1997  Kyle Jones  <kyle_jones@wonderworks.com>

	* src/faces.c (update_face_cachel_data): Don't allow the
	  background pixmap of the default face to override the
	  background of a face if that color has been specified.

--- 1.1	1997/09/26 15:59:43
+++ src/faces.c	1997/09/26 17:38:48
@@ -1185,6 +1185,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);

--whE8vl4TTv--

