aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1992-12-06 22:22:09 +0000
committerJim Blandy1992-12-06 22:22:09 +0000
commit3a88c23802812028a78bf83a7dd0616092394400 (patch)
tree2e52b19aaea722c03db3f4e684801f3abf8d0d20 /src
parentd7a803df1872c998ed311e309c7d173ad505999c (diff)
downloademacs-3a88c23802812028a78bf83a7dd0616092394400.tar.gz
emacs-3a88c23802812028a78bf83a7dd0616092394400.zip
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c40
1 files changed, 20 insertions, 20 deletions
diff --git a/src/xterm.c b/src/xterm.c
index c17bf1fc91e..57933e35f31 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -1097,7 +1097,7 @@ x_do_pending_expose ()
1097 f = XFRAME (frame); 1097 f = XFRAME (frame);
1098 if (! FRAME_X_P (f)) 1098 if (! FRAME_X_P (f))
1099 continue; 1099 continue;
1100 if (!f->visible) 1100 if (!f->async_visible)
1101 continue; 1101 continue;
1102 if (!f->display.x->needs_exposure) 1102 if (!f->display.x->needs_exposure)
1103 continue; 1103 continue;
@@ -1924,10 +1924,10 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
1924 f = x_window_to_frame (event.xexpose.window); 1924 f = x_window_to_frame (event.xexpose.window);
1925 if (f) 1925 if (f)
1926 { 1926 {
1927 if (f->visible == 0) 1927 if (f->async_visible == 0)
1928 { 1928 {
1929 f->visible = 1; 1929 f->async_visible = 1;
1930 f->iconified = 0; 1930 f->async_iconified = 0;
1931 SET_FRAME_GARBAGED (f); 1931 SET_FRAME_GARBAGED (f);
1932 } 1932 }
1933 else 1933 else
@@ -1958,14 +1958,14 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
1958 if (event.window == f->display.x->icon_desc) 1958 if (event.window == f->display.x->icon_desc)
1959 { 1959 {
1960 refreshicon (f); 1960 refreshicon (f);
1961 f->iconified = 1; 1961 f->async_iconified = 1;
1962 } 1962 }
1963 if (event.window == FRAME_X_WINDOW (f)) 1963 if (event.window == FRAME_X_WINDOW (f))
1964 { 1964 {
1965 /* Say must check all windows' needs_exposure flags. */ 1965 /* Say must check all windows' needs_exposure flags. */
1966 expose_all_windows = 1; 1966 expose_all_windows = 1;
1967 f->display.x->needs_exposure = 1; 1967 f->display.x->needs_exposure = 1;
1968 f->visible = 1; 1968 f->async_visible = 1;
1969 } 1969 }
1970 break; 1970 break;
1971 1971
@@ -2010,7 +2010,7 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
2010 /* While a frame is unmapped, display generation is 2010 /* While a frame is unmapped, display generation is
2011 disabled; you don't want to spend time updating a 2011 disabled; you don't want to spend time updating a
2012 display that won't ever be seen. */ 2012 display that won't ever be seen. */
2013 f->visible = 0; 2013 f->async_visible = 0;
2014 x_mouse_x = x_mouse_y = -1; 2014 x_mouse_x = x_mouse_y = -1;
2015 } 2015 }
2016 } 2016 }
@@ -2020,8 +2020,8 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
2020 f = x_window_to_frame (event.xmap.window); 2020 f = x_window_to_frame (event.xmap.window);
2021 if (f) 2021 if (f)
2022 { 2022 {
2023 f->visible = 1; 2023 f->async_visible = 1;
2024 f->iconified = 0; 2024 f->async_iconified = 0;
2025 2025
2026 /* wait_reading_process_input will notice this and update 2026 /* wait_reading_process_input will notice this and update
2027 the frame's display structures. */ 2027 the frame's display structures. */
@@ -2037,9 +2037,9 @@ XTread_socket (sd, bufp, numchars, waitp, expected)
2037 case UnmapWindow: 2037 case UnmapWindow:
2038 f = x_window_to_frame (event.window); 2038 f = x_window_to_frame (event.window);
2039 if (event.window == f->display.x->icon_desc) 2039 if (event.window == f->display.x->icon_desc)
2040 f->iconified = 0; 2040 f->async_iconified = 0;
2041 if (event.window == FRAME_X_WINDOW (f)) 2041 if (event.window == FRAME_X_WINDOW (f))
2042 f->visible = 0; 2042 f->async_visible = 0;
2043 break; 2043 break;
2044#endif /* ! defined (HAVE_X11) */ 2044#endif /* ! defined (HAVE_X11) */
2045 2045
@@ -3329,7 +3329,7 @@ x_unfocus_frame (f)
3329x_raise_frame (f) 3329x_raise_frame (f)
3330 struct frame *f; 3330 struct frame *f;
3331{ 3331{
3332 if (f->visible) 3332 if (f->async_visible)
3333 { 3333 {
3334 BLOCK_INPUT; 3334 BLOCK_INPUT;
3335 XRaiseWindow (XDISPLAY FRAME_X_WINDOW (f)); 3335 XRaiseWindow (XDISPLAY FRAME_X_WINDOW (f));
@@ -3343,7 +3343,7 @@ x_raise_frame (f)
3343x_lower_frame (f) 3343x_lower_frame (f)
3344 struct frame *f; 3344 struct frame *f;
3345{ 3345{
3346 if (f->visible) 3346 if (f->async_visible)
3347 { 3347 {
3348 BLOCK_INPUT; 3348 BLOCK_INPUT;
3349 XLowerWindow (XDISPLAY FRAME_X_WINDOW (f)); 3349 XLowerWindow (XDISPLAY FRAME_X_WINDOW (f));
@@ -3376,8 +3376,8 @@ x_make_frame_visible (f)
3376 XUnmapWindow (f->display.x->icon_desc); 3376 XUnmapWindow (f->display.x->icon_desc);
3377 3377
3378 /* Handled by the MapNotify event for X11 */ 3378 /* Handled by the MapNotify event for X11 */
3379 f->visible = 1; 3379 f->async_visible = 1;
3380 f->iconified = 0; 3380 f->async_iconified = 0;
3381 3381
3382 /* NOTE: this may cause problems for the first frame. */ 3382 /* NOTE: this may cause problems for the first frame. */
3383 XTcursor_to (0, 0); 3383 XTcursor_to (0, 0);
@@ -3396,7 +3396,7 @@ x_make_frame_invisible (f)
3396{ 3396{
3397 int mask; 3397 int mask;
3398 3398
3399 if (! f->visible) 3399 if (! f->async_visible)
3400 return; 3400 return;
3401 3401
3402 BLOCK_INPUT; 3402 BLOCK_INPUT;
@@ -3439,7 +3439,7 @@ x_make_frame_invisible (f)
3439#else /* ! defined (HAVE_X11) */ 3439#else /* ! defined (HAVE_X11) */
3440 3440
3441 XUnmapWindow (FRAME_X_WINDOW (f)); 3441 XUnmapWindow (FRAME_X_WINDOW (f));
3442 f->visible = 0; /* Handled by the UnMap event for X11 */ 3442 f->async_visible = 0; /* Handled by the UnMap event for X11 */
3443 if (f->display.x->icon_desc != 0) 3443 if (f->display.x->icon_desc != 0)
3444 XUnmapWindow (f->display.x->icon_desc); 3444 XUnmapWindow (f->display.x->icon_desc);
3445 3445
@@ -3460,7 +3460,7 @@ x_iconify_frame (f)
3460{ 3460{
3461 int mask; 3461 int mask;
3462 3462
3463 if (f->iconified) 3463 if (f->async_iconified)
3464 return; 3464 return;
3465 3465
3466 BLOCK_INPUT; 3466 BLOCK_INPUT;
@@ -3495,11 +3495,11 @@ x_iconify_frame (f)
3495 IconicState. */ 3495 IconicState. */
3496 x_wm_set_window_state (f, IconicState); 3496 x_wm_set_window_state (f, IconicState);
3497 3497
3498 f->iconified = 1; 3498 f->async_iconified = 1;
3499#else /* ! defined (HAVE_X11) */ 3499#else /* ! defined (HAVE_X11) */
3500 XUnmapWindow (XDISPLAY FRAME_X_WINDOW (f)); 3500 XUnmapWindow (XDISPLAY FRAME_X_WINDOW (f));
3501 3501
3502 f->visible = 0; /* Handled in the UnMap event for X11. */ 3502 f->async_visible = 0; /* Handled in the UnMap event for X11. */
3503 if (f->display.x->icon_desc != 0) 3503 if (f->display.x->icon_desc != 0)
3504 { 3504 {
3505 XMapWindow (XDISPLAY f->display.x->icon_desc); 3505 XMapWindow (XDISPLAY f->display.x->icon_desc);