(Fx_create_frame): Initialize frame colors to -1,
authorGerd Moellmann <gerd@gnu.org>
Tue, 10 Jul 2001 12:19:10 +0000 (12:19 +0000)
committerGerd Moellmann <gerd@gnu.org>
Tue, 10 Jul 2001 12:19:10 +0000 (12:19 +0000)
for the case that x_decode_colors signals an error.

src/xfns.c

index 1f4fb43..0d66c03 100644 (file)
@@ -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);