]> git.eshelyaron.com Git - emacs.git/commitdiff
* xterm.c (x_calc_absolute_position): Don't subtract outer_pixel_diff
authorJan Djärv <jan.h.d@swipnet.se>
Sat, 11 Dec 2004 18:46:43 +0000 (18:46 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Sat, 11 Dec 2004 18:46:43 +0000 (18:46 +0000)
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
src/xterm.c

index 38a079989be735415d5b36f3a7f8855f8ae152b6..3352ef3cd222b488285dc4a8d7c424cd08e2add5 100644 (file)
@@ -1,3 +1,10 @@
+2004-12-11  Jan Dj\e,Ad\e(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
index e106027ff8bae6485bc571ef71d28270ac8a3ec4..d4841f75c289686558170c259331650d004692fa 100644 (file)
@@ -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;