changeset 17393:372f2eaa544a v8.1.1695

patch 8.1.1695: Windows 10: crash when cursor is at bottom of terminal commit https://github.com/vim/vim/commit/f49a6922596ea88856da802fe33df953b7d77ecb Author: Bram Moolenaar <Bram@vim.org> Date: Mon Jul 15 20:37:05 2019 +0200 patch 8.1.1695: Windows 10: crash when cursor is at bottom of terminal Problem: Windows 10: crash when cursor is at bottom of terminal. Solution: Position the cursor before resizing. (Yasuhiro Matsumoto, closes #4679)
author Bram Moolenaar <Bram@vim.org>
date Mon, 15 Jul 2019 20:45:06 +0200
parents 27714a031226
children 969a28736055
files src/os_win32.c src/version.c
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -3738,6 +3738,7 @@ ResizeConBufAndWindow(
     CONSOLE_SCREEN_BUFFER_INFO csbi;	/* hold current console buffer info */
     SMALL_RECT	    srWindowRect;	/* hold the new console size */
     COORD	    coordScreen;
+    COORD	    cursor;
     static int	    resized = FALSE;
 
 #ifdef MCH_WRITE_DUMP
@@ -3792,6 +3793,11 @@ ResizeConBufAndWindow(
     }
     else
     {
+	// Workaround for a Windows 10 bug
+	cursor.X = srWindowRect.Left;
+	cursor.Y = srWindowRect.Top;
+	SetConsoleCursorPosition(hConsole, cursor);
+
 	ResizeConBuf(hConsole, coordScreen);
 	ResizeWindow(hConsole, srWindowRect);
 	resized = TRUE;
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1695,
+/**/
     1694,
 /**/
     1693,