diff options
| author | Karl Heuer | 1995-05-24 20:37:08 +0000 |
|---|---|---|
| committer | Karl Heuer | 1995-05-24 20:37:08 +0000 |
| commit | 07a7096a4b9c9214062a95001e1653e30a173aae (patch) | |
| tree | 28f0ad91dc21a824e5785d98a7fdc7bd39b9c790 /src | |
| parent | 50d326a456d8770f4c02190e4b72422c21b6ac9a (diff) | |
| download | emacs-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.c | 12 |
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 | ||