]> git.eshelyaron.com Git - emacs.git/commitdiff
Ensure correct position is returned after child frame movement
authorPo Lu <luangruo@yahoo.com>
Fri, 8 Jul 2022 13:16:15 +0000 (21:16 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 8 Jul 2022 13:16:25 +0000 (21:16 +0800)
* src/xterm.c (x_set_offset): Synchronize child frame movement
correctly.

src/xterm.c

index 9651c4e119eb522127ac3d64cafdde26a12235d3..23a784ade89ffcda905b22ae0140d100b906ea9f 100644 (file)
@@ -24067,6 +24067,11 @@ x_set_offset (struct frame *f, int xoff, int yoff, int change_gravity)
                      && FRAME_X_OUTPUT (f)->move_offset_top == 0))))
        x_check_expected_move (f, modified_left, modified_top);
     }
+  /* Instead, just wait for the last ConfigureWindow request to
+     complete.  No window manager is involved when moving child
+     frames.  */
+  else
+    XSync (FRAME_X_DISPLAY (f), False);
 
   unblock_input ();
 }
@@ -24769,7 +24774,6 @@ x_sync_with_move (struct frame *f, int left, int top, bool fuzzy)
     wait_reading_process_output (0, 500000000, 0, false, Qnil, NULL, 0);
 }
 
-
 /* Wait for an event on frame F matching EVENTTYPE.  */
 void
 x_wait_for_event (struct frame *f, int eventtype)