emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 60fac8a5e0: Avoid potentially expensive XFlush and fix ordering


From: Po Lu
Subject: master 60fac8a5e0: Avoid potentially expensive XFlush and fix ordering
Date: Tue, 22 Nov 2022 07:04:58 -0500 (EST)

branch: master
commit 60fac8a5e02983e3bf3103dbeb9af5214aa8f694
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    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.
---
 src/xterm.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index af652a0d85..154f404e6b 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]