aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1995-05-24 20:37:08 +0000
committerKarl Heuer1995-05-24 20:37:08 +0000
commit07a7096a4b9c9214062a95001e1653e30a173aae (patch)
tree28f0ad91dc21a824e5785d98a7fdc7bd39b9c790 /src
parent50d326a456d8770f4c02190e4b72422c21b6ac9a (diff)
downloademacs-07a7096a4b9c9214062a95001e1653e30a173aae.tar.gz
emacs-07a7096a4b9c9214062a95001e1653e30a173aae.zip
(x_connection_closed): Unblock input, first thing.
Set Vdefault_minibuffer_frame to t before deleting a frame that might have its own minibuffer.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/xterm.c b/src/xterm.c
index cf6f6987792..da83bf51b89 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -4352,6 +4352,11 @@ x_connection_closed (display, error_message)
4352 struct x_display_info *dpyinfo = x_display_info_for_display (display); 4352 struct x_display_info *dpyinfo = x_display_info_for_display (display);
4353 Lisp_Object frame, tail; 4353 Lisp_Object frame, tail;
4354 4354
4355 /* Whatever we were in the middle of, we are going to throw out of it,
4356 so reassure various things that have error checks about being
4357 called with input blocked. */
4358 TOTALLY_UNBLOCK_INPUT;
4359
4355 if (_Xdebug) 4360 if (_Xdebug)
4356 abort (); 4361 abort ();
4357 4362
@@ -4375,7 +4380,12 @@ x_connection_closed (display, error_message)
4375 FOR_EACH_FRAME (tail, frame) 4380 FOR_EACH_FRAME (tail, frame)
4376 if (FRAME_X_P (XFRAME (frame)) 4381 if (FRAME_X_P (XFRAME (frame))
4377 && FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) 4382 && FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo)
4378 Fdelete_frame (frame, Qt); 4383 {
4384 /* Set this to t so that Fdelete_frame won't get confused
4385 trying to find a replacement. */
4386 FRAME_KBOARD (XFRAME (frame))->Vdefault_minibuffer_frame = Qt;
4387 Fdelete_frame (frame, Qt);
4388 }
4379 4389
4380 x_delete_display (dpyinfo); 4390 x_delete_display (dpyinfo);
4381 4391