From c83c9f9db773a3d37482414c9eefddf347de08c7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Sat, 11 Dec 2004 18:46:43 +0000 Subject: [PATCH] * 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. --- src/ChangeLog | 7 +++++++ src/xterm.c | 25 +++++-------------------- 2 files changed, 12 insertions(+), 20 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 38a079989be..3352ef3cd22 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2004-12-11 Jan Dj,Ad(Brv + + * 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 * xdisp.c (get_next_display_element): Use `escape-glyph' for diff --git a/src/xterm.c b/src/xterm.c index e106027ff8b..d4841f75c28 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -8147,20 +8147,11 @@ x_calc_absolute_position (f) 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 @@ x_calc_absolute_position (f) #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 @@ x_check_expected_move (f) 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; -- 2.39.5