summaryrefslogtreecommitdiff
path: root/src/os_win32.c
diff options
context:
space:
mode:
authormatveyt <matthewtarasov@gmail.com>2021-05-20 11:54:10 +0200
committerBram Moolenaar <Bram@vim.org>2021-05-20 11:54:10 +0200
commit4eb1914e1bd870a7ea829cae150e1f9fdc3df7b1 (patch)
tree9fcd9a787c7dd881603261ae7ac93425c475574c /src/os_win32.c
parent46aa6f93acb5d932d2893606d980a6b4b8a9594c (diff)
downloadvim-git-4eb1914e1bd870a7ea829cae150e1f9fdc3df7b1.tar.gz
patch 8.2.2874: MS-Windows: screen redraws too oftenv8.2.2874
Problem: MS-Windows: screen redraws too often. Solution: Do not redraw when peeking for a character. (closes #8230, closes #8211)
Diffstat (limited to 'src/os_win32.c')
-rw-r--r--src/os_win32.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index a743e714b..8a1ed72d7 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1648,7 +1648,9 @@ WaitForChar(long msec, int ignore_input)
peek_console_input(g_hConIn, &ir, 1, &cRecords);
# ifdef FEAT_MBYTE_IME
- if (State & CMDLINE && msg_row == Rows - 1)
+ // May have to redraw if the cursor ends up in the wrong place.
+ // Only when not peeking.
+ if (State & CMDLINE && msg_row == Rows - 1 && msec != 0)
{
CONSOLE_SCREEN_BUFFER_INFO csbi;