# HG changeset patch # User Richard M. Stallman # Date 738729965 0 # Node ID a47979ffad1e33ba3b6f934eb6039dd627794615 # Parent e2a40a3baa4b5a069eb5fcbf90e052e5e3f3f69f (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. diff -r e2a40a3baa4b -r a47979ffad1e src/xterm.c --- a/src/xterm.c Sun May 30 02:44:11 1993 +0000 +++ b/src/xterm.c Sun May 30 02:46:05 1993 +0000 @@ -2813,6 +2813,12 @@ 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 @@ { 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 @@ { 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;