# HG changeset patch # User Bram Moolenaar # Date 1576101604 -3600 # Node ID 44906eff69f98e681adc4efd63c8b3d05453ff46 # Parent ba733b6814edeb1cdbfc663a1669754e28d6599c patch 8.1.2424: MS-Windows: console buffer is resized unnecessarily Commit: https://github.com/vim/vim/commit/36698e34aacee4186e6f5f87f431626752fcb337 Author: Bram Moolenaar Date: Wed Dec 11 22:57:40 2019 +0100 patch 8.1.2424: MS-Windows: console buffer is resized unnecessarily Problem: MS-Windows: console buffer is resized unnecessarily. Solution: Only call ResizeConBuf() when the size differs. (Nobuhiro Takasaki, closes #5343) diff --git a/src/os_win32.c b/src/os_win32.c --- a/src/os_win32.c +++ b/src/os_win32.c @@ -1641,15 +1641,19 @@ WaitForChar(long msec, int ignore_input) { COORD dwSize = ir.Event.WindowBufferSizeEvent.dwSize; - // Only call shell_resized() when the size actually change to + // Only call shell_resized() when the size actually changed to // avoid the screen is cleared. if (dwSize.X != Columns || dwSize.Y != Rows) { CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(g_hConOut, &csbi); + dwSize.X = csbi.srWindow.Right - csbi.srWindow.Left + 1; dwSize.Y = csbi.srWindow.Bottom - csbi.srWindow.Top + 1; - ResizeConBuf(g_hConOut, dwSize); - shell_resized(); + if (dwSize.X != Columns || dwSize.Y != Rows) + { + ResizeConBuf(g_hConOut, dwSize); + shell_resized(); + } } } else if (ir.EventType == MOUSE_EVENT diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2424, +/**/ 2423, /**/ 2422,