# HG changeset patch # User Jim Blandy # Date 723680529 0 # Node ID 452ba03935d73aa058eff5fb7f8da02e13c778a0 # Parent 14ff323eab0a65f78eb88487dde9518f5d9f4178 * xterm.c (XTread_socket): When we get MapNotify, UnmapNotify, Expose, ExposeWindow, or UnmapWindow, set f->async_visible, not f->visible. (x_do_pending_expose, x_raise_frame, x_lower_frame, x_make_frame_invisible, x_make_frame_visible, x_iconify_frame): Test and set f->async_visible and f->async_iconified, not f->visible or f->async_iconified. diff -r 14ff323eab0a -r 452ba03935d7 src/xterm.c --- a/src/xterm.c Sun Dec 06 22:21:21 1992 +0000 +++ b/src/xterm.c Sun Dec 06 22:22:09 1992 +0000 @@ -1097,7 +1097,7 @@ f = XFRAME (frame); if (! FRAME_X_P (f)) continue; - if (!f->visible) + if (!f->async_visible) continue; if (!f->display.x->needs_exposure) continue; @@ -1924,10 +1924,10 @@ f = x_window_to_frame (event.xexpose.window); if (f) { - if (f->visible == 0) + if (f->async_visible == 0) { - f->visible = 1; - f->iconified = 0; + f->async_visible = 1; + f->async_iconified = 0; SET_FRAME_GARBAGED (f); } else @@ -1958,14 +1958,14 @@ if (event.window == f->display.x->icon_desc) { refreshicon (f); - f->iconified = 1; + f->async_iconified = 1; } if (event.window == FRAME_X_WINDOW (f)) { /* Say must check all windows' needs_exposure flags. */ expose_all_windows = 1; f->display.x->needs_exposure = 1; - f->visible = 1; + f->async_visible = 1; } break; @@ -2010,7 +2010,7 @@ /* While a frame is unmapped, display generation is disabled; you don't want to spend time updating a display that won't ever be seen. */ - f->visible = 0; + f->async_visible = 0; x_mouse_x = x_mouse_y = -1; } } @@ -2020,8 +2020,8 @@ f = x_window_to_frame (event.xmap.window); if (f) { - f->visible = 1; - f->iconified = 0; + f->async_visible = 1; + f->async_iconified = 0; /* wait_reading_process_input will notice this and update the frame's display structures. */ @@ -2037,9 +2037,9 @@ case UnmapWindow: f = x_window_to_frame (event.window); if (event.window == f->display.x->icon_desc) - f->iconified = 0; + f->async_iconified = 0; if (event.window == FRAME_X_WINDOW (f)) - f->visible = 0; + f->async_visible = 0; break; #endif /* ! defined (HAVE_X11) */ @@ -3329,7 +3329,7 @@ x_raise_frame (f) struct frame *f; { - if (f->visible) + if (f->async_visible) { BLOCK_INPUT; XRaiseWindow (XDISPLAY FRAME_X_WINDOW (f)); @@ -3343,7 +3343,7 @@ x_lower_frame (f) struct frame *f; { - if (f->visible) + if (f->async_visible) { BLOCK_INPUT; XLowerWindow (XDISPLAY FRAME_X_WINDOW (f)); @@ -3376,8 +3376,8 @@ XUnmapWindow (f->display.x->icon_desc); /* Handled by the MapNotify event for X11 */ - f->visible = 1; - f->iconified = 0; + f->async_visible = 1; + f->async_iconified = 0; /* NOTE: this may cause problems for the first frame. */ XTcursor_to (0, 0); @@ -3396,7 +3396,7 @@ { int mask; - if (! f->visible) + if (! f->async_visible) return; BLOCK_INPUT; @@ -3439,7 +3439,7 @@ #else /* ! defined (HAVE_X11) */ XUnmapWindow (FRAME_X_WINDOW (f)); - f->visible = 0; /* Handled by the UnMap event for X11 */ + f->async_visible = 0; /* Handled by the UnMap event for X11 */ if (f->display.x->icon_desc != 0) XUnmapWindow (f->display.x->icon_desc); @@ -3460,7 +3460,7 @@ { int mask; - if (f->iconified) + if (f->async_iconified) return; BLOCK_INPUT; @@ -3495,11 +3495,11 @@ IconicState. */ x_wm_set_window_state (f, IconicState); - f->iconified = 1; + f->async_iconified = 1; #else /* ! defined (HAVE_X11) */ XUnmapWindow (XDISPLAY FRAME_X_WINDOW (f)); - f->visible = 0; /* Handled in the UnMap event for X11. */ + f->async_visible = 0; /* Handled in the UnMap event for X11. */ if (f->display.x->icon_desc != 0) { XMapWindow (XDISPLAY f->display.x->icon_desc);