aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKaroly Lorentey2004-09-10 18:07:22 +0000
committerKaroly Lorentey2004-09-10 18:07:22 +0000
commit5cd432338667788c6739f43e4aa37fb53cc2a125 (patch)
tree2da46f4d7e61151da8819cfeff0d1abd5b140782 /src
parentfd15a4daca3b32487b751006a5e7be7732fdf9ea (diff)
downloademacs-5cd432338667788c6739f43e4aa37fb53cc2a125.tar.gz
emacs-5cd432338667788c6739f43e4aa37fb53cc2a125.zip
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
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/xterm.c b/src/xterm.c
index c1edf49aca7..190aebc8189 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -7728,6 +7728,7 @@ x_connection_closed (dpy, error_message)
7728 struct x_display_info *dpyinfo = x_display_info_for_display (dpy); 7728 struct x_display_info *dpyinfo = x_display_info_for_display (dpy);
7729 Lisp_Object frame, tail; 7729 Lisp_Object frame, tail;
7730 int count; 7730 int count;
7731 int index = SPECPDL_INDEX ();
7731 7732
7732 error_msg = (char *) alloca (strlen (error_message) + 1); 7733 error_msg = (char *) alloca (strlen (error_message) + 1);
7733 strcpy (error_msg, error_message); 7734 strcpy (error_msg, error_message);
@@ -7775,6 +7776,9 @@ x_connection_closed (dpy, error_message)
7775 if (dpyinfo) 7776 if (dpyinfo)
7776 dpyinfo->display = 0; 7777 dpyinfo->display = 0;
7777 7778
7779 /* Inhibit redisplay while frames are being deleted. */
7780 specbind (Qinhibit_redisplay, Qt);
7781
7778 /* First delete frames whose mini-buffers are on frames 7782 /* First delete frames whose mini-buffers are on frames
7779 that are on the dead display. */ 7783 that are on the dead display. */
7780 FOR_EACH_FRAME (tail, frame) 7784 FOR_EACH_FRAME (tail, frame)
@@ -7821,6 +7825,7 @@ x_connection_closed (dpy, error_message)
7821 sigunblock (sigmask (SIGALRM)); 7825 sigunblock (sigmask (SIGALRM));
7822 TOTALLY_UNBLOCK_INPUT; 7826 TOTALLY_UNBLOCK_INPUT;
7823 7827
7828 unbind_to (index, Qnil);
7824 clear_waiting_for_input (); 7829 clear_waiting_for_input ();
7825 error ("%s", error_msg); 7830 error ("%s", error_msg);
7826} 7831}