changeset 83203:bc89b722d36f

Inhibit redisplay while frames are being deleted after an X disconnect. * src/xterm.c (x_connection_closed): Inhibit redisplay while frames are being deleted. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-243
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 10 Sep 2004 18:07:22 +0000
parents 42acc7fa8a4f
children 6d9b668e8f94
files README.multi-tty src/xterm.c
diffstat 2 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/README.multi-tty	Fri Sep 10 13:06:10 2004 +0000
+++ b/README.multi-tty	Fri Sep 10 18:07:22 2004 +0000
@@ -275,7 +275,8 @@
 IRIE Tetsuya <irie at t dot email dot ne dot jp>
 Yoshiaki Kasahara <kasahara at nc dot kyushu-u dot ac dot jp>
 Jurej Kubelka <Juraj dot Kubelka at email dot cz>
-Istvan Marko <mi-mtty ar kismala dot com>
+David Lichteblau <david at lichteblau dot com>
+Istvan Marko <mi-mtty at kismala dot com>
 Ted Morse <morse at ciholas dot com>
 Dan Nicolaescu <dann at ics dot uci dot edu>
 Gergely Nagy <algernon at debian dot org>
--- a/src/xterm.c	Fri Sep 10 13:06:10 2004 +0000
+++ b/src/xterm.c	Fri Sep 10 18:07:22 2004 +0000
@@ -7728,6 +7728,7 @@
   struct x_display_info *dpyinfo = x_display_info_for_display (dpy);
   Lisp_Object frame, tail;
   int count;
+  int index = SPECPDL_INDEX ();
 
   error_msg = (char *) alloca (strlen (error_message) + 1);
   strcpy (error_msg, error_message);
@@ -7775,6 +7776,9 @@
   if (dpyinfo)
     dpyinfo->display = 0;
 
+  /* Inhibit redisplay while frames are being deleted. */
+  specbind (Qinhibit_redisplay, Qt);
+
   /* First delete frames whose mini-buffers are on frames
      that are on the dead display.  */
   FOR_EACH_FRAME (tail, frame)
@@ -7821,6 +7825,7 @@
   sigunblock (sigmask (SIGALRM));
   TOTALLY_UNBLOCK_INPUT;
 
+  unbind_to (index, Qnil);
   clear_waiting_for_input ();
   error ("%s", error_msg);
 }