diff options
| author | Karoly Lorentey | 2004-09-10 18:07:22 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-09-10 18:07:22 +0000 |
| commit | 5cd432338667788c6739f43e4aa37fb53cc2a125 (patch) | |
| tree | 2da46f4d7e61151da8819cfeff0d1abd5b140782 /src | |
| parent | fd15a4daca3b32487b751006a5e7be7732fdf9ea (diff) | |
| download | emacs-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.c | 5 |
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 | } |