Mercurial > vim
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;