From: YAMAMOTO Mitsuharu Date: Fri, 21 Jun 2019 00:28:50 +0000 (+0900) Subject: * src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface. X-Git-Tag: emacs-27.0.90~2339 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d63bfbcae4a31560468e8800fe8381fda3b9d2ce;p=emacs.git * src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface. --- 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));