Subject: bug#9982: M-x load-theme does not change background color

From: Jan Djärv <[email-masked]>
Date: Sun, 11 Dec 2011 14:17:58 +0100

Hello.

8 nov 2011 kl. 08:38 skrev Brendan Miller:

> Here's a screenshot of what (set-background-color "black") does the
> first time I execute it. Toggling between white and black a few times
> can get it into other states.
> 
> http://www.zimagez.com/zimage/screenshot-11072011-113329pm.php
> 

Upon further investigation, this is not a Gtk+ problem, it happend for lucid also.
But just for the first set-background-color call.

There seems to be some error in the face/frame interaction.  This is what happens for me:

(set-background-color "black")
  (set-frame-parameter "background" "black")
  ...
   x_set_background_color ("black")
     update_face_from_frame_parameter (f, Qbackground_color, arg);
     ...
       (frame-set-background-mode)
       ...
         (face-spec-recalc)
         ...
          (set-frame-parameter "background" "white")

So the background is first black and then white again.  It seems that redisplay uses the GC with background black, but as the window background is white, those parts not redrawn (i.e. without text) are white.

I don't know why this is only seen with XFCE and just for the first set-background-color call.

	Jan D.