summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-07-15 17:49:58 +0200
committerBram Moolenaar <Bram@vim.org>2016-07-15 17:49:58 +0200
commitfdadad994a6e8f6cc8b11519082e23200b96d0ba (patch)
tree6cd420adf8a803cd0eac8f46be449fad9302ce13
parent603d657219154ef074eeb70f6892b0b54e4fc19b (diff)
patch 7.4.2042v7.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)
-rw-r--r--src/gui_gtk_x11.c11
-rw-r--r--src/version.c2
2 files changed, 3 insertions, 10 deletions
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 9437ed3b17..fa99f151ff 100644
--- 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
index 72b478932d..e4dd573d84 100644
--- 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,