changeset 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 a2e7b2d1eb70
children 7950b2b0a56a
files README.multi-tty src/xfns.c
diffstat 2 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/README.multi-tty	Wed Dec 08 23:53:39 2004 +0000
+++ b/README.multi-tty	Wed Dec 08 23:58:40 2004 +0000
@@ -376,6 +376,10 @@
 
 ** Check if we got term-setup-hook right.
 
+** I think tip_frame should be display-local.
+
+** Check display reference count handling in x_create_tip_frame.
+
 ** make-frame does not correctly handle extra parameters in its
    argument:
 
--- 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)))