aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2022-11-22 19:43:14 +0800
committerPo Lu2022-11-22 20:04:47 +0800
commit60fac8a5e02983e3bf3103dbeb9af5214aa8f694 (patch)
tree9d73e123622fe7e0e680f420998e6cb4e2f2d2dc /src
parenteb02528b707a1b89bc9b46ac6c6c9e48a3b54a4c (diff)
downloademacs-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.c13
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
27517x_raise_frame (struct frame *f) 27517x_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
27581static void 27586static void