# HG changeset patch # User Gerd Moellmann # Date 979303101 0 # Node ID ba1f849f938185a03907e7095b3747c56debef66 # Parent a1bf8f8663bdb953a37275f79ecee41a022dc03f (x_set_mouse_color): Fix color allocation. diff -r a1bf8f8663bd -r ba1f849f9381 src/xfns.c --- a/src/xfns.c Fri Jan 12 11:51:31 2001 +0000 +++ b/src/xfns.c Fri Jan 12 12:38:21 2001 +0000 @@ -1373,8 +1373,7 @@ struct frame *f; Lisp_Object arg, oldval; { - unsigned long pixel - = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f)); + unsigned long pixel = x_decode_color (f, arg, BLACK_PIX_DEFAULT (f)); unload_color (f, f->output_data.x->foreground_pixel); f->output_data.x->foreground_pixel = pixel; @@ -1398,8 +1397,7 @@ struct frame *f; Lisp_Object arg, oldval; { - unsigned long pixel - = x_decode_color (f, arg, WHITE_PIX_DEFAULT (f)); + unsigned long pixel = x_decode_color (f, arg, WHITE_PIX_DEFAULT (f)); unload_color (f, f->output_data.x->background_pixel); f->output_data.x->background_pixel = pixel; @@ -1447,7 +1445,10 @@ /* 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; + { + x_free_colors (f, &pixel, 1); + pixel = x_copy_color (f, f->output_data.x->foreground_pixel); + } unload_color (f, f->output_data.x->mouse_pixel); f->output_data.x->mouse_pixel = pixel;