From 9319ae23ea3ce0d390111ad8aaf3abbaf8211cff Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 30 May 1993 02:46:05 +0000 Subject: [PATCH] (XTread_socket): For UnmapNotify, if frame was visible, mark it now as iconified. (x_make_frame_invisible): If async_iconic, work does need to be done. Don't let this frame stay highlighted. (x_iconify_frame): Don't let this frame stay highlighted. --- src/xterm.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/xterm.c b/src/xterm.c index db0f61e8f1d..86b66f8fc84 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -2813,6 +2813,12 @@ XTread_socket (sd, bufp, numchars, waitp, expected) disabled; you don't want to spend time updating a display that won't ever be seen. */ f->async_visible = 0; + /* The window manager never makes a window invisible + ("withdrawn"); all it does is switch between visible + and iconified. Frames get into the invisible state + only through x_make_frame_invisible. + if (FRAME_VISIBLE_P (f) || FRAME_ICONIFIED_P (f)) + f->async_iconified = 1; } break; @@ -4280,7 +4286,11 @@ x_make_frame_invisible (f) { int mask; - if (! f->async_visible) + /* Don't keep the highlight on an invisible frame. */ + if (x_highlight_frame == f) + x_highlight_frame = 0; + + if (! f->async_visible && ! f->async_iconified) return; BLOCK_INPUT; @@ -4341,6 +4351,10 @@ x_iconify_frame (f) { int mask; + /* Don't keep the highlight on an invisible frame. */ + if (x_highlight_frame == f) + x_highlight_frame = 0; + if (f->async_iconified) return;