(x_connection_closed): Unblock input, first thing.
Set Vdefault_minibuffer_frame to t before deleting a frame that might have its own minibuffer.
This commit is contained in:
parent
50d326a456
commit
07a7096a4b
1 changed files with 11 additions and 1 deletions
12
src/xterm.c
12
src/xterm.c
|
@ -4352,6 +4352,11 @@ x_connection_closed (display, error_message)
|
|||
struct x_display_info *dpyinfo = x_display_info_for_display (display);
|
||||
Lisp_Object frame, tail;
|
||||
|
||||
/* Whatever we were in the middle of, we are going to throw out of it,
|
||||
so reassure various things that have error checks about being
|
||||
called with input blocked. */
|
||||
TOTALLY_UNBLOCK_INPUT;
|
||||
|
||||
if (_Xdebug)
|
||||
abort ();
|
||||
|
||||
|
@ -4375,7 +4380,12 @@ x_connection_closed (display, error_message)
|
|||
FOR_EACH_FRAME (tail, frame)
|
||||
if (FRAME_X_P (XFRAME (frame))
|
||||
&& FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo)
|
||||
Fdelete_frame (frame, Qt);
|
||||
{
|
||||
/* Set this to t so that Fdelete_frame won't get confused
|
||||
trying to find a replacement. */
|
||||
FRAME_KBOARD (XFRAME (frame))->Vdefault_minibuffer_frame = Qt;
|
||||
Fdelete_frame (frame, Qt);
|
||||
}
|
||||
|
||||
x_delete_display (dpyinfo);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue