diff options
| author | Po Lu | 2022-11-22 19:43:14 +0800 |
|---|---|---|
| committer | Po Lu | 2022-11-22 20:04:47 +0800 |
| commit | 60fac8a5e02983e3bf3103dbeb9af5214aa8f694 (patch) | |
| tree | 9d73e123622fe7e0e680f420998e6cb4e2f2d2dc /src | |
| parent | eb02528b707a1b89bc9b46ac6c6c9e48a3b54a4c (diff) | |
| download | emacs-60fac8a5e02983e3bf3103dbeb9af5214aa8f694.tar.gz emacs-60fac8a5e02983e3bf3103dbeb9af5214aa8f694.zip | |
Avoid potentially expensive XFlush and fix ordering
* src/xterm.c (x_raise_frame): Don't call XFlush without a
request being made.
(x_lower_frame): Fix ordering wrt to xwidget view lowering.
Diffstat (limited to 'src')
| -rw-r--r-- | src/xterm.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/xterm.c b/src/xterm.c index af652a0d856..154f404e6b4 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -27517,9 +27517,14 @@ static void | |||
| 27517 | x_raise_frame (struct frame *f) | 27517 | x_raise_frame (struct frame *f) |
| 27518 | { | 27518 | { |
| 27519 | block_input (); | 27519 | block_input (); |
| 27520 | |||
| 27520 | if (FRAME_VISIBLE_P (f)) | 27521 | if (FRAME_VISIBLE_P (f)) |
| 27521 | XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f)); | 27522 | { |
| 27522 | XFlush (FRAME_X_DISPLAY (f)); | 27523 | XRaiseWindow (FRAME_X_DISPLAY (f), |
| 27524 | FRAME_OUTER_WINDOW (f)); | ||
| 27525 | XFlush (FRAME_X_DISPLAY (f)); | ||
| 27526 | } | ||
| 27527 | |||
| 27523 | unblock_input (); | 27528 | unblock_input (); |
| 27524 | } | 27529 | } |
| 27525 | 27530 | ||
| @@ -27567,8 +27572,6 @@ x_lower_frame (struct frame *f) | |||
| 27567 | XLowerWindow (FRAME_X_DISPLAY (f), | 27572 | XLowerWindow (FRAME_X_DISPLAY (f), |
| 27568 | FRAME_OUTER_WINDOW (f)); | 27573 | FRAME_OUTER_WINDOW (f)); |
| 27569 | 27574 | ||
| 27570 | XFlush (FRAME_X_DISPLAY (f)); | ||
| 27571 | |||
| 27572 | #ifdef HAVE_XWIDGETS | 27575 | #ifdef HAVE_XWIDGETS |
| 27573 | /* Make sure any X windows owned by xwidget views of the parent | 27576 | /* Make sure any X windows owned by xwidget views of the parent |
| 27574 | still display below the lowered frame. */ | 27577 | still display below the lowered frame. */ |
| @@ -27576,6 +27579,8 @@ x_lower_frame (struct frame *f) | |||
| 27576 | if (FRAME_PARENT_FRAME (f)) | 27579 | if (FRAME_PARENT_FRAME (f)) |
| 27577 | lower_frame_xwidget_views (FRAME_PARENT_FRAME (f)); | 27580 | lower_frame_xwidget_views (FRAME_PARENT_FRAME (f)); |
| 27578 | #endif | 27581 | #endif |
| 27582 | |||
| 27583 | XFlush (FRAME_X_DISPLAY (f)); | ||
| 27579 | } | 27584 | } |
| 27580 | 27585 | ||
| 27581 | static void | 27586 | static void |