summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-02-05 13:36:54 +0100
committerBram Moolenaar <Bram@vim.org>2014-02-05 13:36:54 +0100
commitf50eb7882e89a6ec1670a0377224f174c7899338 (patch)
tree2b8b4d3f4ca040cefd3798b7d2810d5388a7ffea
parent09edc46d01ee0804e29594738c5b86a8a2c06ca0 (diff)
downloadvim-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.c13
-rw-r--r--src/version.c2
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,