summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xfns.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 1f4fb43dda8..0d66c03e235 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -4182,6 +4182,16 @@ This function is an internal primitive--use `make-frame' instead.")
{
Lisp_Object black;
struct gcpro gcpro1;
+
+ /* Function x_decode_color can signal an error. Make
+ sure to initialize color slots so that we won't try
+ to free colors we haven't allocated. */
+ f->output_data.x->foreground_pixel = -1;
+ f->output_data.x->background_pixel = -1;
+ f->output_data.x->cursor_pixel = -1;
+ f->output_data.x->cursor_foreground_pixel = -1;
+ f->output_data.x->border_pixel = -1;
+ f->output_data.x->mouse_pixel = -1;
black = build_string ("black");
GCPRO1 (black);