mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-06 23:51:24 -08:00
Prevent some NoExpose events from being generated
* src/xterm.c (x_scroll_run): Use the rendering extension if available to avoid NoExpose events.
This commit is contained in:
parent
6efed75ff3
commit
76d79e1576
1 changed files with 18 additions and 6 deletions
24
src/xterm.c
24
src/xterm.c
|
|
@ -6037,12 +6037,24 @@ x_scroll_run (struct window *w, struct run *run)
|
|||
}
|
||||
else
|
||||
#endif /* USE_CAIRO */
|
||||
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);
|
||||
{
|
||||
#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);
|
||||
}
|
||||
|
||||
unblock_input ();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue