# HG changeset patch # User Jan Dj¸«£rv # Date 1102790803 0 # Node ID 75cac09436994d9ca29f55f5312486beb478bde0 # Parent 0013f65ab5fa8a7152f2b285251293fa37e507ff * 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. diff -r 0013f65ab5fa -r 75cac0943699 src/ChangeLog --- 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 + + * 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 -r 0013f65ab5fa -r 75cac0943699 src/xterm.c --- 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;