]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/xterm.c (x_update_end) [USE_CAIRO]: Flush non-double-buffered surface.
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 21 Jun 2019 00:28:50 +0000 (09:28 +0900)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 21 Jun 2019 00:28:50 +0000 (09:28 +0900)
src/xterm.c

index 38bf0a224d42db54c9bfab2d5a75d2d75630d983..1acff2af0da9b50ffaad7633d4d1bd5123f93d8e 100644 (file)
@@ -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));