Commit 07a7096a authored by Karl Heuer's avatar Karl Heuer

(x_connection_closed): Unblock input, first thing.

Set Vdefault_minibuffer_frame to t
before deleting a frame that might have its own minibuffer.
parent 50d326a4
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment