From: Karoly Lorentey Date: Wed, 8 Dec 2004 23:58:40 +0000 (+0000) Subject: Trivial changes in x_create_tip_frame. X-Git-Tag: emacs-pretest-23.0.90~11236^2~141^2~324 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9d3d44ba8f401d92a6d9a08669856bf1328a270d;p=emacs.git 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 --- diff --git a/README.multi-tty b/README.multi-tty index e400eab66fc..8a578937aaf 100644 --- a/README.multi-tty +++ b/README.multi-tty @@ -376,6 +376,10 @@ THINGS TO DO ** 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: diff --git a/src/xfns.c b/src/xfns.c index 1679cc1c21d..2fe08e0a458 100644 --- a/src/xfns.c +++ b/src/xfns.c @@ -4506,6 +4506,7 @@ x_create_tip_frame (dpyinfo, parms, text) && !EQ (name, Qunbound) && !NILP (name)) error ("Invalid frame name--not a string or nil"); + Vx_resource_name = name; frame = Qnil; @@ -4563,6 +4564,16 @@ x_create_tip_frame (dpyinfo, parms, text) 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_create_tip_frame (dpyinfo, parms, text) 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)))