changeset 3133:176bfa951339 v7.3.337

updated for version 7.3.337 Problem: Screen doesn't update after resizing the xterm until a character is typed. Solution: When the select call is interrupted check do_resize. (Taylor Hedberg)
author Bram Moolenaar <bram@vim.org>
date Wed, 12 Oct 2011 21:04:20 +0200
parents d729ca08d1a6
children e8f3119f5d09
files src/os_unix.c src/version.c
diffstat 2 files changed, 9 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5146,11 +5146,18 @@ select_eintr:
 # endif
 # ifdef EINTR
 	if (ret == -1 && errno == EINTR)
+	{
+	    /* Check whether window has been resized, EINTR may be caused by
+	     * SIGWINCH. */
+	    if (do_resize)
+		handle_resize();
+
 	    /* Interrupted by a signal, need to try again.  We ignore msec
 	     * here, because we do want to check even after a timeout if
 	     * characters are available.  Needed for reading output of an
 	     * external command after the process has finished. */
 	    goto select_eintr;
+	}
 # endif
 # ifdef __TANDEM
 	if (ret == -1 && errno == ENOTSUP)
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    337,
+/**/
     336,
 /**/
     335,