]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_set_mouse_color): Always unload the old color.
authorKarl Heuer <kwzh@gnu.org>
Mon, 26 Jul 1999 19:09:56 +0000 (19:09 +0000)
committerKarl Heuer <kwzh@gnu.org>
Mon, 26 Jul 1999 19:09:56 +0000 (19:09 +0000)
Don't allow nil as color value.
(x_set_cursor_color, x_set_background_color, x_set_foreground_color):
Always unload the old color.

src/xfns.c

index 251b48dd3229a05f2e1be3ad98ab087d6cb2a739..385724fcf84a2fe78e939286e5355ff6e1d0617e 100644 (file)
@@ -1314,10 +1314,7 @@ x_set_foreground_color (f, arg, oldval)
   unsigned long pixel
     = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f));
 
-  if (f->output_data.x->foreground_pixel != f->output_data.x->mouse_pixel
-      && f->output_data.x->foreground_pixel != f->output_data.x->cursor_pixel
-      && f->output_data.x->foreground_pixel != f->output_data.x->cursor_foreground_pixel)
-    unload_color (f, f->output_data.x->foreground_pixel);
+  unload_color (f, f->output_data.x->foreground_pixel);
   f->output_data.x->foreground_pixel = pixel;
 
   if (FRAME_X_WINDOW (f) != 0)
@@ -1345,10 +1342,7 @@ x_set_background_color (f, arg, oldval)
   unsigned long pixel
     = x_decode_color (f, arg, WHITE_PIX_DEFAULT (f));
 
-  if (f->output_data.x->background_pixel != f->output_data.x->mouse_pixel
-      && f->output_data.x->background_pixel != f->output_data.x->cursor_pixel
-      && f->output_data.x->background_pixel != f->output_data.x->cursor_foreground_pixel)
-    unload_color (f, f->output_data.x->background_pixel);
+  unload_color (f, f->output_data.x->background_pixel);
   f->output_data.x->background_pixel = pixel;
 
   if (FRAME_X_WINDOW (f) != 0)
@@ -1388,23 +1382,15 @@ x_set_mouse_color (f, arg, oldval)
   Cursor cursor, nontext_cursor, mode_cursor, cross_cursor;
   Cursor busy_cursor;
   int count;
-  int mask_color;
-  unsigned long pixel = f->output_data.x->mouse_pixel;
-  
-  if (!EQ (Qnil, arg))
-    pixel = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f));
+  unsigned long pixel = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f));
+  unsigned long mask_color = f->output_data.x->background_pixel;
 
-  mask_color = f->output_data.x->background_pixel;
-                               /* No invisible pointers.  */
+  /* Don't let pointers be invisible.  */
   if (mask_color == pixel
       && mask_color == f->output_data.x->background_pixel)
     pixel = f->output_data.x->foreground_pixel;
 
-  if (f->output_data.x->background_pixel != f->output_data.x->mouse_pixel
-      && f->output_data.x->foreground_pixel != f->output_data.x->mouse_pixel
-      && f->output_data.x->cursor_pixel != f->output_data.x->mouse_pixel
-      && f->output_data.x->cursor_foreground_pixel != f->output_data.x->mouse_pixel)
-    unload_color (f, f->output_data.x->mouse_pixel);
+  unload_color (f, f->output_data.x->mouse_pixel);
   f->output_data.x->mouse_pixel = pixel;
 
   BLOCK_INPUT;
@@ -1544,18 +1530,10 @@ x_set_cursor_color (f, arg, oldval)
        fore_pixel = f->output_data.x->background_pixel;
     }
 
-  if (f->output_data.x->background_pixel != f->output_data.x->cursor_foreground_pixel
-      && f->output_data.x->foreground_pixel != f->output_data.x->cursor_foreground_pixel
-      && f->output_data.x->mouse_pixel != f->output_data.x->cursor_foreground_pixel
-      && f->output_data.x->cursor_pixel != f->output_data.x->cursor_foreground_pixel)
-    unload_color (f, f->output_data.x->cursor_foreground_pixel);
+  unload_color (f, f->output_data.x->cursor_foreground_pixel);
   f->output_data.x->cursor_foreground_pixel = fore_pixel;
 
-  if (f->output_data.x->background_pixel != f->output_data.x->cursor_pixel
-      && f->output_data.x->foreground_pixel != f->output_data.x->cursor_pixel
-      && f->output_data.x->mouse_pixel != f->output_data.x->cursor_pixel
-      && f->output_data.x->cursor_foreground_pixel != f->output_data.x->cursor_pixel)
-    unload_color (f, f->output_data.x->cursor_pixel);
+  unload_color (f, f->output_data.x->cursor_pixel);
   f->output_data.x->cursor_pixel = pixel;
 
   if (FRAME_X_WINDOW (f) != 0)