diff options
author | Bram Moolenaar <Bram@vim.org> | 2011-08-10 17:08:03 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2011-08-10 17:08:03 +0200 |
commit | 8c85fa3b2659a01fc1462ea26140ad2d0622e5b0 (patch) | |
tree | 569a36665fef6bf623fdfe92ac17cf1c3d273518 /src/gui_w32.c | |
parent | cf839732113e19a53302331d4f479a5e844a4a67 (diff) | |
download | vim-8c85fa3b2659a01fc1462ea26140ad2d0622e5b0.zip |
updated for version 7.3.277
Problem: MS-Windows: some characters do not show in dialogs.
Solution: Use the wide methods when available. (Yanwei Jia)
Diffstat (limited to 'src/gui_w32.c')
-rw-r--r-- | src/gui_w32.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/gui_w32.c b/src/gui_w32.c index 0966afe40..4a34cb4f2 100644 --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -1270,6 +1270,25 @@ gui_mch_prepare(int *argc, char **argv) pGetMonitorInfo = (TGetMonitorInfo)GetProcAddress(user32_lib, "GetMonitorInfoA"); } + +#ifdef FEAT_MBYTE + /* If the OS is Windows NT, use wide functions; + * this enables common dialogs input unicode from IME. */ + if (os_version.dwPlatformId == VER_PLATFORM_WIN32_NT) + { + pDispatchMessage = DispatchMessageW; + pGetMessage = GetMessageW; + pIsDialogMessage = IsDialogMessageW; + pPeekMessage = PeekMessageW; + } + else + { + pDispatchMessage = DispatchMessageA; + pGetMessage = GetMessageA; + pIsDialogMessage = IsDialogMessageA; + pPeekMessage = PeekMessageA; + } +#endif } /* |