aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2004-12-11 18:46:43 +0000
committerJan Djärv2004-12-11 18:46:43 +0000
commitc83c9f9db773a3d37482414c9eefddf347de08c7 (patch)
tree68729d734dcd1f2999d6dc595fe309c7ca9ab06e /src
parent0ccb50fc8a57e07c85a005cc4455dd44c9885939 (diff)
downloademacs-c83c9f9db773a3d37482414c9eefddf347de08c7.tar.gz
emacs-c83c9f9db773a3d37482414c9eefddf347de08c7.zip
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog7
-rw-r--r--src/xterm.c25
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 @@
12004-12-11 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2
3 * xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
4 for left and top calculations. Remove call to x_real_positions.
5 (x_check_expected_move): Do not set change_gravity to 1 when calling
6 x_set_offset.
7
12004-12-08 Richard M. Stallman <rms@gnu.org> 82004-12-08 Richard M. Stallman <rms@gnu.org>
2 9
3 * xdisp.c (get_next_display_element): Use `escape-glyph' for 10 * 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)
8147 if (! ((flags & XNegative) || (flags & YNegative))) 8147 if (! ((flags & XNegative) || (flags & YNegative)))
8148 return; 8148 return;
8149 8149
8150 /* Find the offsets of the outside upper-left corner of
8151 the inner window, with respect to the outer window.
8152 But do this only if we will need the results. */
8153 if (f->output_data.x->parent_desc != FRAME_X_DISPLAY_INFO (f)->root_window)
8154 /* This is to get *_pixels_outer_diff. */
8155 x_real_positions (f, &win_x, &win_y);
8156
8157 /* Treat negative positions as relative to the leftmost bottommost 8150 /* Treat negative positions as relative to the leftmost bottommost
8158 position that fits on the screen. */ 8151 position that fits on the screen. */
8159 if (flags & XNegative) 8152 if (flags & XNegative)
8160 f->left_pos = (FRAME_X_DISPLAY_INFO (f)->width 8153 f->left_pos = (FRAME_X_DISPLAY_INFO (f)->width
8161 - 2 * FRAME_X_OUTPUT (f)->x_pixels_outer_diff 8154 - FRAME_PIXEL_WIDTH (f) + f->left_pos);
8162 - FRAME_PIXEL_WIDTH (f)
8163 + f->left_pos);
8164 8155
8165 { 8156 {
8166 int height = FRAME_PIXEL_HEIGHT (f); 8157 int height = FRAME_PIXEL_HEIGHT (f);
@@ -8182,15 +8173,7 @@ x_calc_absolute_position (f)
8182#endif 8173#endif
8183 8174
8184 if (flags & YNegative) 8175 if (flags & YNegative)
8185 f->top_pos = (FRAME_X_DISPLAY_INFO (f)->height 8176 f->top_pos = (FRAME_X_DISPLAY_INFO (f)->height - height + f->top_pos);
8186 - FRAME_X_OUTPUT (f)->y_pixels_outer_diff
8187
8188 /* Assume the window manager decorations are the same size on
8189 three sides, i.e. left, right and bottom. This is to
8190 compensate for the bottom part. */
8191 - FRAME_X_OUTPUT (f)->x_pixels_outer_diff
8192 - height
8193 + f->top_pos);
8194 } 8177 }
8195 8178
8196 /* The left_pos and top_pos 8179 /* The left_pos and top_pos
@@ -8306,7 +8289,9 @@ x_check_expected_move (f)
8306 FRAME_X_OUTPUT (f)->move_offset_left = expect_left - f->left_pos; 8289 FRAME_X_OUTPUT (f)->move_offset_left = expect_left - f->left_pos;
8307 FRAME_X_OUTPUT (f)->move_offset_top = expect_top - f->top_pos; 8290 FRAME_X_OUTPUT (f)->move_offset_top = expect_top - f->top_pos;
8308 8291
8309 x_set_offset (f, expect_left, expect_top, 1); 8292 f->left_pos = expect_left;
8293 f->top_pos = expect_top;
8294 x_set_offset (f, expect_left, expect_top, 0);
8310 } 8295 }
8311 else if (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN) 8296 else if (FRAME_X_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN)
8312 FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_B; 8297 FRAME_X_DISPLAY_INFO (f)->wm_type = X_WMTYPE_B;