To: vim_dev@googlegroups.com Subject: Patch 7.4.2042 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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) Files: src/gui_gtk_x11.c *** ../vim-7.4.2041/src/gui_gtk_x11.c 2016-07-10 23:16:05.112753072 +0200 --- src/gui_gtk_x11.c 2016-07-15 17:46:14.918602220 +0200 *************** *** 6646,6664 **** # else if (gui.mainwin != NULL && GTK_WIDGET_REALIZED(gui.mainwin)) # endif ! gdk_display_sync(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 } /* --- 6646,6655 ---- # else if (gui.mainwin != NULL && GTK_WIDGET_REALIZED(gui.mainwin)) # endif ! gdk_display_flush(gtk_widget_get_display(gui.mainwin)); #else gdk_flush(); /* historical misnomer: calls XSync(), not XFlush() */ #endif } /* *** ../vim-7.4.2041/src/version.c 2016-07-15 17:41:51.654360363 +0200 --- src/version.c 2016-07-15 17:48:34.864604512 +0200 *************** *** 760,761 **** --- 760,763 ---- { /* Add new patch number below this line */ + /**/ + 2042, /**/ -- Experience is what you get when you don't get what you want. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///