diff src/xfns.c @ 83234:ad592995fd24

Trivial changes in x_create_tip_frame. * src/xfns.c (x_create_tip_frame): Copy color slot initialization safeguards from x-create-frame. Trivial doc update. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-274
author Karoly Lorentey <lorentey@elte.hu>
date Wed, 08 Dec 2004 23:58:40 +0000
parents 549734260e34
children 223c12363c0c
line wrap: on
line diff
--- a/src/xfns.c	Wed Dec 08 23:53:39 2004 +0000
+++ b/src/xfns.c	Wed Dec 08 23:58:40 2004 +0000
@@ -4506,6 +4506,7 @@
       && !EQ (name, Qunbound)
       && !NILP (name))
     error ("Invalid frame name--not a string or nil");
+
   Vx_resource_name = name;
 
   frame = Qnil;
@@ -4563,6 +4564,16 @@
     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);
     f->output_data.x->foreground_pixel
@@ -4638,7 +4649,7 @@
   x_default_parameter (f, parms, Qborder_width, make_number (2),
 		       "borderWidth", "BorderWidth", RES_TYPE_NUMBER);
 
-  /* This defaults to 2 in order to match xterm.  We recognize either
+  /* This defaults to 1 in order to match xterm.  We recognize either
      internalBorderWidth or internalBorder (which is what xterm calls
      it).  */
   if (NILP (Fassq (Qinternal_border_width, parms)))