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)
diff --git a/src/os_win32.c b/src/os_win32.c
index 1b961b2..102adb6 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -3738,6 +3738,7 @@
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 @@
}
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;
diff --git a/src/version.c b/src/version.c
index cca8b5b..a159615 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1695,
+/**/
1694,
/**/
1693,