From: Po Lu Date: Tue, 22 Nov 2022 11:43:14 +0000 (+0800) Subject: Avoid potentially expensive XFlush and fix ordering X-Git-Tag: emacs-29.0.90~1597 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=60fac8a5e02983e3bf3103dbeb9af5214aa8f694;p=emacs.git 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. --- 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 x_raise_frame (struct frame *f) { block_input (); + if (FRAME_VISIBLE_P (f)) - XRaiseWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f)); - XFlush (FRAME_X_DISPLAY (f)); + { + XRaiseWindow (FRAME_X_DISPLAY (f), + FRAME_OUTER_WINDOW (f)); + XFlush (FRAME_X_DISPLAY (f)); + } + unblock_input (); } @@ -27567,8 +27572,6 @@ x_lower_frame (struct frame *f) XLowerWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f)); - XFlush (FRAME_X_DISPLAY (f)); - #ifdef HAVE_XWIDGETS /* Make sure any X windows owned by xwidget views of the parent still display below the lowered frame. */ @@ -27576,6 +27579,8 @@ x_lower_frame (struct frame *f) if (FRAME_PARENT_FRAME (f)) lower_frame_xwidget_views (FRAME_PARENT_FRAME (f)); #endif + + XFlush (FRAME_X_DISPLAY (f)); } static void