summaryrefslogtreecommitdiff
path: root/src/gui_w32.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2011-08-10 17:08:03 +0200
committerBram Moolenaar <Bram@vim.org>2011-08-10 17:08:03 +0200
commit8c85fa3b2659a01fc1462ea26140ad2d0622e5b0 (patch)
tree569a36665fef6bf623fdfe92ac17cf1c3d273518 /src/gui_w32.c
parentcf839732113e19a53302331d4f479a5e844a4a67 (diff)
downloadvim-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.c19
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
}
/*