diff options
| author | Glenn Morris | 2020-04-11 07:50:12 -0700 |
|---|---|---|
| committer | Glenn Morris | 2020-04-11 07:50:12 -0700 |
| commit | 1988ffbaed709dfc71126efbf06644476830f07e (patch) | |
| tree | fdc98855a3ab7bf6d6cb4c8826ec4a9dfc603d33 /src/xterm.c | |
| parent | b902d7c9d07b2cc951fa5c789d585d65366d19d2 (diff) | |
| parent | fd27685c1e68e742abf1698573dac53743f15e48 (diff) | |
| download | emacs-1988ffbaed709dfc71126efbf06644476830f07e.tar.gz emacs-1988ffbaed709dfc71126efbf06644476830f07e.zip | |
Merge from origin/emacs-27
fd27685c1e (origin/emacs-27) ; * doc/lispref/keymaps.texi (Extended M...
6057d79a4e * doc/lispref/keymaps.texi (Extended Menu Items): Tweak :k...
17a1bb5a03 Fix redisplay when scrolling under redisplay-dont-pause
90321f595c Fix face extension in pulse.el
36c42d2a30 * doc/misc/tramp.texi (Bug Reports): Avoid line breaks in ...
d5750af151 Avoid assertion violation in intervals.c
18d1bc0a09 Improve documentation of 'jit-lock-contextually'
08486f4cae Speed up 'resize-mode' child frames a little
f451ef9308 ; * etc/NEWS: Mention 'executing-macro' in removed vars.
c49d379f17 Fix some problems with moving and resizing child frames
# Conflicts:
# etc/NEWS
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/src/xterm.c b/src/xterm.c index bd9688fda81..ae5dad92897 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -10613,26 +10613,29 @@ x_set_offset (struct frame *f, register int xoff, register int yoff, int change_ | |||
| 10613 | modified_left, modified_top); | 10613 | modified_left, modified_top); |
| 10614 | #endif | 10614 | #endif |
| 10615 | 10615 | ||
| 10616 | x_sync_with_move (f, f->left_pos, f->top_pos, | 10616 | /* 'x_sync_with_move' is too costly for dragging child frames. */ |
| 10617 | FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN); | 10617 | if (!FRAME_PARENT_FRAME (f)) |
| 10618 | 10618 | { | |
| 10619 | /* change_gravity is non-zero when this function is called from Lisp to | 10619 | x_sync_with_move (f, f->left_pos, f->top_pos, |
| 10620 | programmatically move a frame. In that case, we call | 10620 | FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN); |
| 10621 | x_check_expected_move to discover if we have a "Type A" or "Type B" | 10621 | |
| 10622 | window manager, and, for a "Type A" window manager, adjust the position | 10622 | /* change_gravity is non-zero when this function is called from Lisp to |
| 10623 | of the frame. | 10623 | programmatically move a frame. In that case, we call |
| 10624 | 10624 | x_check_expected_move to discover if we have a "Type A" or "Type B" | |
| 10625 | We call x_check_expected_move if a programmatic move occurred, and | 10625 | window manager, and, for a "Type A" window manager, adjust the position |
| 10626 | either the window manager type (A/B) is unknown or it is Type A but we | 10626 | of the frame. |
| 10627 | need to compute the top/left offset adjustment for this frame. */ | 10627 | |
| 10628 | 10628 | We call x_check_expected_move if a programmatic move occurred, and | |
| 10629 | if (change_gravity != 0 | 10629 | either the window manager type (A/B) is unknown or it is Type A but we |
| 10630 | && !FRAME_PARENT_FRAME (f) | 10630 | need to compute the top/left offset adjustment for this frame. */ |
| 10631 | && (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN | 10631 | |
| 10632 | || (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A | 10632 | if (change_gravity != 0 |
| 10633 | && (FRAME_X_OUTPUT (f)->move_offset_left == 0 | 10633 | && (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_UNKNOWN |
| 10634 | && FRAME_X_OUTPUT (f)->move_offset_top == 0)))) | 10634 | || (FRAME_DISPLAY_INFO (f)->wm_type == X_WMTYPE_A |
| 10635 | x_check_expected_move (f, modified_left, modified_top); | 10635 | && (FRAME_X_OUTPUT (f)->move_offset_left == 0 |
| 10636 | && FRAME_X_OUTPUT (f)->move_offset_top == 0)))) | ||
| 10637 | x_check_expected_move (f, modified_left, modified_top); | ||
| 10638 | } | ||
| 10636 | 10639 | ||
| 10637 | unblock_input (); | 10640 | unblock_input (); |
| 10638 | } | 10641 | } |