changeset 11904:0d37c1e81c0d

(x_connection_closed): Unblock input, first thing. Set Vdefault_minibuffer_frame to t before deleting a frame that might have its own minibuffer.
author Karl Heuer <kwzh@gnu.org>
date Wed, 24 May 1995 20:37:08 +0000
parents 5d0ad882565c
children 3f5326542cf6
files src/xterm.c
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/xterm.c	Wed May 24 20:17:16 1995 +0000
+++ b/src/xterm.c	Wed May 24 20:37:08 1995 +0000
@@ -4352,6 +4352,11 @@
   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 @@
   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);