aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy1993-01-22 02:47:12 +0000
committerJim Blandy1993-01-22 02:47:12 +0000
commitc0ff3fabb8e366a08ecb24a8e3c51a9760640aac (patch)
tree779ca0bff7b2fa6955cb9ec6b16d4017d815eee2 /src
parent8678b9ccf53e6e6e05af74b748e25e4dc55b84f2 (diff)
downloademacs-c0ff3fabb8e366a08ecb24a8e3c51a9760640aac.tar.gz
emacs-c0ff3fabb8e366a08ecb24a8e3c51a9760640aac.zip
* xterm.c (x_scrollbar_create): Set the scrollbars to use
EastGravity. * frame.c (Fdelete_frame): Clear the frame's display after calling the window-system-dependent frame destruction routine. We no longer need to pass the display as a separate argument to x_destroy_window. * xterm.c (x_destroy_window): Put the code which clears out f's display here, right after we free the storage it points to. Put everything, including the code which clears x_focus_frame and x_highlight_frame, inside the BLOCK/UNBLOCK_INPUT pair.
Diffstat (limited to 'src')
-rw-r--r--src/xterm.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/src/xterm.c b/src/xterm.c
index e55685f37e1..b534751dbf7 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -1758,8 +1758,9 @@ x_scrollbar_create (window, top, left, width, height)
1758 | ButtonMotionMask | PointerMotionHintMask 1758 | ButtonMotionMask | PointerMotionHintMask
1759 | ExposureMask); 1759 | ExposureMask);
1760 a.cursor = x_vertical_scrollbar_cursor; 1760 a.cursor = x_vertical_scrollbar_cursor;
1761 a.win_gravity = EastGravity;
1761 1762
1762 mask = (CWBackPixel | CWEventMask | CWCursor); 1763 mask = (CWBackPixel | CWEventMask | CWCursor | CWWinGravity);
1763 1764
1764 SET_SCROLLBAR_X_WINDOW 1765 SET_SCROLLBAR_X_WINDOW
1765 (bar, 1766 (bar,
@@ -4061,28 +4062,26 @@ x_iconify_frame (f)
4061 UNBLOCK_INPUT; 4062 UNBLOCK_INPUT;
4062} 4063}
4063 4064
4064/* Destroy the X window of frame F. 4065/* Destroy the X window of frame F. */
4065 DISPL is the former f->display (since f->display
4066 has already been nulled out). */
4067 4066
4068x_destroy_window (f, displ) 4067x_destroy_window (f)
4069 struct frame *f; 4068 struct frame *f;
4070 union display displ;
4071{ 4069{
4072 int mask;
4073
4074 BLOCK_INPUT; 4070 BLOCK_INPUT;
4075 if (displ.x->icon_desc != 0) 4071
4076 XDestroyWindow (XDISPLAY displ.x->icon_desc); 4072 if (f->display.x->icon_desc != 0)
4077 XDestroyWindow (XDISPLAY displ.x->window_desc); 4073 XDestroyWindow (XDISPLAY f->display.x->icon_desc);
4074 XDestroyWindow (XDISPLAY f->display.x->window_desc);
4078 XFlushQueue (); 4075 XFlushQueue ();
4079 UNBLOCK_INPUT;
4080 4076
4081 free (displ.x); 4077 free (f->display.x);
4078 f->display.x = 0;
4082 if (f == x_focus_frame) 4079 if (f == x_focus_frame)
4083 x_focus_frame = 0; 4080 x_focus_frame = 0;
4084 if (f == x_highlight_frame) 4081 if (f == x_highlight_frame)
4085 x_highlight_frame = 0; 4082 x_highlight_frame = 0;
4083
4084 UNBLOCK_INPUT;
4086} 4085}
4087 4086
4088/* Manage event queues for X10. */ 4087/* Manage event queues for X10. */