From: Po Lu Date: Sat, 5 Mar 2022 02:44:26 +0000 (+0800) Subject: Remove render code in x_scroll_run and drop NoExpose events instead X-Git-Tag: emacs-29.0.90~2011 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=4564ae5a3d87ce6aee35d6a3c689fd0400f25859;p=emacs.git 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. --- diff --git a/src/xterm.c b/src/xterm.c index 89ec43b4705..55224d93c9b 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: