diff options
author | Bram Moolenaar <Bram@vim.org> | 2014-02-05 13:36:54 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2014-02-05 13:36:54 +0100 |
commit | f50eb7882e89a6ec1670a0377224f174c7899338 (patch) | |
tree | 2b8b4d3f4ca040cefd3798b7d2810d5388a7ffea | |
parent | 09edc46d01ee0804e29594738c5b86a8a2c06ca0 (diff) | |
download | vim-git-f50eb7882e89a6ec1670a0377224f174c7899338.tar.gz |
updated for version 7.4.163v7.4.163
Problem: MS-Windows input doesn't work properly on Windows 7 and earlier.
Solution: Add a check for Windows 8. (Yasuhiro Matsumoto)
-rw-r--r-- | src/os_win32.c | 13 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/src/os_win32.c b/src/os_win32.c index 844b70a97..bfd5f4a2e 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -232,6 +232,8 @@ static int suppress_winsize = 1; /* don't fiddle with console */ static char_u *exe_path = NULL; +static BOOL win8_or_later = FALSE; + /* * Version of ReadConsoleInput() that works with IME. * Works around problems on Windows 8. @@ -252,6 +254,13 @@ read_console_input( static DWORD s_dwMax = 0; DWORD dwEvents; + if (!win8_or_later) + { + if (nLength == -1) + return PeekConsoleInput(hInput, lpBuffer, 1, lpEvents); + return ReadConsoleInput(hInput, lpBuffer, 1, &dwEvents); + } + if (s_dwMax == 0) { if (nLength == -1) @@ -617,6 +626,10 @@ PlatformId(void) g_PlatformId = ovi.dwPlatformId; + if ((ovi.dwMajorVersion == 6 && ovi.dwMinorVersion >= 2) + || ovi.dwMajorVersion > 6) + win8_or_later = TRUE; + #ifdef HAVE_ACL /* * Load the ADVAPI runtime if we are on anything diff --git a/src/version.c b/src/version.c index 123f60169..a6acd9a36 100644 --- a/src/version.c +++ b/src/version.c @@ -739,6 +739,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 163, +/**/ 162, /**/ 161, |