Mercurial > emacs
changeset 58891:75cac0943699
* xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
for left and top calculations. Remove call to x_real_positions.
(x_check_expected_move): Do not set change_gravity to 1 when calling
x_set_offset.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Sat, 11 Dec 2004 18:46:43 +0000 |
parents | 0013f65ab5fa |
children | 2a6a963af889 |
files | src/ChangeLog src/xterm.c |
diffstat | 2 files changed, 12 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sat Dec 11 14:51:32 2004 +0000 +++ b/src/ChangeLog Sat Dec 11 18:46:43 2004 +0000 @@ -1,3 +1,10 @@ +2004-12-11 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> + + * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff + for left and top calculations. Remove call to x_real_positions. + (x_check_expected_move): Do not set change_gravity to 1 when calling + x_set_offset. + 2004-12-08 Richard M. Stallman <rms@gnu.org> * xdisp.c (get_next_display_element): Use `escape-glyph' for
--- a/src/xterm.c Sat Dec 11 14:51:32 2004 +0000 +++ b/src/xterm.c Sat Dec 11 18:46:43 2004 +0000 @@ -8147,20 +8147,11 @@ if (! ((flags & XNegative) || (flags & YNegative))) return; - /* Find the offsets of the outside upper-left corner of - the inner window, with respect to the outer window. - But do this only if we will need the results. */ - if (f->output_data.x->parent_desc != FRAME_X_DISPLAY_INFO (f)->root_window) - /* This is to get *_pixels_outer_diff. */ - x_real_positions (f, &win_x, &win_y); - /* Treat negative positions as relative to the leftmost bottommost position that fits on the screen. */ if (flags & XNegative) f->left_pos = (FRAME_X_DISPLAY_INFO (f)->width - - 2 * FRAME_X_OUTPUT (f)->x_pixels_outer_diff - - FRAME_PIXEL_WIDTH (f) - + f->left_pos); + - FRAME_PIXEL_WIDTH (f) + f->left_pos); { int height = FRAME_PIXEL_HEIGHT (f); @@ -8182,15 +8173,7 @@ #endif if (flags & YNegative) - f->top_pos = (FRAME_X_DISPLAY_INFO (f)->height - - FRAME_X_OUTPUT (f)->y_pixels_outer_diff - - /* Assume the window manager decorations are the same size on - three sides, i.e. left, right and bottom. This is to - compensate for the bottom part. */ - - FRAME_X_OUTPUT (f)->x_pixels_outer_diff - - height - + f->top_pos); + f->top_pos = (FRAME_X_DISPLAY_INFO (f)->height - height + f->top_pos); } /* The left_pos and top_pos @@ -8306,7 +8289,9 @@ FRAME_X_OUTPUT (f)->move_offset_left = expect_left - f->left_pos; FRAME_X_OUTPUT (f)->move_offset_top = expect_top - f->top_pos; - x_set_offset (f, expect_left, expect_top, 1); + f->left_pos = expect_left; + f->top_pos = expect_top; + x_set_offset (f, expect_left, expect_top, 0); } else if (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN) FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_B;