diff options
| author | Jim Blandy <jimb@redhat.com> | 1993-01-22 02:47:12 +0000 |
|---|---|---|
| committer | Jim Blandy <jimb@redhat.com> | 1993-01-22 02:47:12 +0000 |
| commit | c0ff3fabb8e366a08ecb24a8e3c51a9760640aac (patch) | |
| tree | 779ca0bff7b2fa6955cb9ec6b16d4017d815eee2 | |
| parent | 8678b9ccf53e6e6e05af74b748e25e4dc55b84f2 (diff) | |
| download | emacs-c0ff3fabb8e366a08ecb24a8e3c51a9760640aac.tar.gz | |
* 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.
| -rw-r--r-- | src/xterm.c | 25 |
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) | ButtonMotionMask | PointerMotionHintMask | ExposureMask); a.cursor = x_vertical_scrollbar_cursor; + a.win_gravity = EastGravity; - mask = (CWBackPixel | CWEventMask | CWCursor); + mask = (CWBackPixel | CWEventMask | CWCursor | CWWinGravity); SET_SCROLLBAR_X_WINDOW (bar, @@ -4061,28 +4062,26 @@ x_iconify_frame (f) UNBLOCK_INPUT; } -/* Destroy the X window of frame F. - DISPL is the former f->display (since f->display - has already been nulled out). */ +/* Destroy the X window of frame F. */ -x_destroy_window (f, displ) +x_destroy_window (f) struct frame *f; - union display displ; { - int mask; - BLOCK_INPUT; - if (displ.x->icon_desc != 0) - XDestroyWindow (XDISPLAY displ.x->icon_desc); - XDestroyWindow (XDISPLAY displ.x->window_desc); + + if (f->display.x->icon_desc != 0) + XDestroyWindow (XDISPLAY f->display.x->icon_desc); + XDestroyWindow (XDISPLAY f->display.x->window_desc); XFlushQueue (); - UNBLOCK_INPUT; - free (displ.x); + free (f->display.x); + f->display.x = 0; if (f == x_focus_frame) x_focus_frame = 0; if (f == x_highlight_frame) x_highlight_frame = 0; + + UNBLOCK_INPUT; } /* Manage event queues for X10. */ |
