From f48f33caa6e2e9458a404b382f10663622ae9e66 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 6 Mar 1995 04:35:33 +0000 Subject: [PATCH] (x_connection_closed): Ignore non-X frames. Fix the logic for deleting frames that use separate minibuffers that are on the dead connection. --- src/xterm.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/xterm.c b/src/xterm.c index bc919788d06..a7b5940f651 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -4374,8 +4374,10 @@ x_connection_closed (display, error_message) Lisp_Object minibuf_frame; minibuf_frame = WINDOW_FRAME (XWINDOW (FRAME_MINIBUF_WINDOW (XFRAME (frame)))); - if (! EQ (frame, minibuf_frame) - && FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) + if (FRAME_X_P (XFRAME (frame)) + && FRAME_X_P (XFRAME (minibuf_frame)) + && ! EQ (frame, minibuf_frame) + && FRAME_X_DISPLAY_INFO (XFRAME (minibuf_frame)) == dpyinfo) Fdelete_frame (frame, Qt); } @@ -4383,7 +4385,8 @@ x_connection_closed (display, error_message) We are now sure none of these is used as the minibuffer for another frame that we need to delete. */ FOR_EACH_FRAME (tail, frame) - if (FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) + if (FRAME_X_P (XFRAME (frame)) + && FRAME_X_DISPLAY_INFO (XFRAME (frame)) == dpyinfo) Fdelete_frame (frame, Qt); x_delete_display (dpyinfo); -- 2.39.5