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 ();
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);