# HG changeset patch # User Christian Brabandt # Date 1468598406 -7200 # Node ID 9d1abad90d6ca6a77fd12f8395742afda1112b61 # Parent 9bf77634d1b8e2919e9d01d58e61f5c0320652a2 commit https://github.com/vim/vim/commit/fdadad994a6e8f6cc8b11519082e23200b96d0ba Author: Bram Moolenaar Date: Fri Jul 15 17:49:58 2016 +0200 patch 7.4.2042 Problem: GTK: display updating is not done properly and can be slow. Solution: Use gdk_display_flush() instead of gdk_display_sync(). Don't call gdk_window_process_updates(). (Kazunobu Kuriyama) diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -6646,19 +6646,10 @@ gui_mch_flush(void) # else if (gui.mainwin != NULL && GTK_WIDGET_REALIZED(gui.mainwin)) # endif - gdk_display_sync(gtk_widget_get_display(gui.mainwin)); + gdk_display_flush(gtk_widget_get_display(gui.mainwin)); #else gdk_flush(); /* historical misnomer: calls XSync(), not XFlush() */ #endif - /* This happens to actually do what gui_mch_flush() is supposed to do, - * according to the comment above. */ -#if GTK_CHECK_VERSION(3,0,0) - if (gui.drawarea != NULL && gtk_widget_get_window(gui.drawarea) != NULL) - gdk_window_process_updates(gtk_widget_get_window(gui.drawarea), FALSE); -#else - if (gui.drawarea != NULL && gui.drawarea->window != NULL) - gdk_window_process_updates(gui.drawarea->window, FALSE); -#endif } /* diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -759,6 +759,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2042, +/**/ 2041, /**/ 2040,