emacs-diffs
[Top][All Lists]
Advanced

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

master 4564ae5a3d: Remove render code in x_scroll_run and drop NoExpose


From: Po Lu
Subject: master 4564ae5a3d: Remove render code in x_scroll_run and drop NoExpose events instead
Date: Fri, 4 Mar 2022 21:47:45 -0500 (EST)

branch: master
commit 4564ae5a3d87ce6aee35d6a3c689fd0400f25859
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>

    Remove render code in x_scroll_run and drop NoExpose events instead
    
    * src/xterm.c (x_scroll_run): Stop avoiding NoExpose events
    through XRenderComposite.
    (handle_one_xevent): Drop NoExpose events to placate some code
    in Athena widgets.
---
 src/xterm.c | 27 +++++++++------------------
 1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/xterm.c b/src/xterm.c
index 89ec43b470..55224d93c9 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -6037,24 +6037,12 @@ x_scroll_run (struct window *w, struct run *run)
     }
   else
 #endif /* USE_CAIRO */
-    {
-#ifdef HAVE_XRENDER
-      /* Avoid useless NoExpose events.  This way, we only get regular
-        exposure events when there is actually something to
-        expose.  */
-      if (FRAME_X_PICTURE (f) != None)
-       XRenderComposite (FRAME_X_DISPLAY (f), PictOpSrc, FRAME_X_PICTURE (f),
-                         None, FRAME_X_PICTURE (f), x, from_y, 0, 0, x, to_y,
-                         width, height);
-      else
-#endif
-       XCopyArea (FRAME_X_DISPLAY (f),
-                  FRAME_X_DRAWABLE (f), FRAME_X_DRAWABLE (f),
-                  f->output_data.x->normal_gc,
-                  x, from_y,
-                  width, height,
-                  x, to_y);
-    }
+    XCopyArea (FRAME_X_DISPLAY (f),
+              FRAME_X_DRAWABLE (f), FRAME_X_DRAWABLE (f),
+              f->output_data.x->normal_gc,
+              x, from_y,
+              width, height,
+              x, to_y);
 
   unblock_input ();
 }
@@ -10367,6 +10355,9 @@ handle_one_xevent (struct x_display_info *dpyinfo,
     case NoExpose:             /* This occurs when an XCopyArea's
                                    source area was completely
                                    available.  */
+#ifdef USE_X_TOOLKIT
+      *finish = X_EVENT_DROP;
+#endif
       break;
 
     case UnmapNotify:



reply via email to

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