From 9e0f52b7d941d55b658d39d452d84652026bdb84 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Fri, 8 Jul 2022 21:16:15 +0800 Subject: [PATCH] Ensure correct position is returned after child frame movement * src/xterm.c (x_set_offset): Synchronize child frame movement correctly. --- src/xterm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/xterm.c b/src/xterm.c index 9651c4e119e..23a784ade89 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -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) -- 2.39.5