From d63bfbcae4a31560468e8800fe8381fda3b9d2ce Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Fri, 21 Jun 2019 09:28:50 +0900 Subject: * src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface. --- src/xterm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/xterm.c b/src/xterm.c index 38bf0a224d4..1acff2af0da 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -1240,6 +1240,15 @@ x_update_end (struct frame *f) /* Mouse highlight may be displayed again. */ MOUSE_HL_INFO (f)->mouse_face_defer = false; +#ifdef USE_CAIRO + if (!FRAME_X_DOUBLE_BUFFERED_P (f) && FRAME_CR_CONTEXT (f)) + { + block_input (); + cairo_surface_flush (cairo_get_target (FRAME_CR_CONTEXT (f))); + unblock_input (); + } +#endif + #ifndef XFlush block_input (); XFlush (FRAME_X_DISPLAY (f)); -- cgit v1.2.1