From 33d0b69ab8112f57a0b4c35a6a1add440a60b81f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 17 Feb 2010 16:31:32 +0100 Subject: updated for version 7.2.362 Problem: Win64: Vim doesn't work when cross-compiled with MingW libraries. Solution: Instead of handling WM_NCCREATE, create wide text area window class if the parent window iw side. (Sergey Khorev) --- src/gui_w32.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/gui_w32.c') diff --git a/src/gui_w32.c b/src/gui_w32.c index 5a43d826c..3331d54dd 100644 --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -1329,6 +1329,7 @@ gui_mch_init(void) WNDCLASS wndclass; #ifdef FEAT_MBYTE const WCHAR szVimWndClassW[] = VIM_CLASSW; + const WCHAR szTextAreaClassW[] = L"VimTextArea"; WNDCLASSW wndclassw; #endif #ifdef GLOBAL_IME @@ -1479,6 +1480,28 @@ gui_mch_init(void) #endif /* Create the text area window */ +#ifdef FEAT_MBYTE + if (wide_WindowProc) + { + if (GetClassInfoW(s_hinst, szTextAreaClassW, &wndclassw) == 0) + { + wndclassw.style = CS_OWNDC; + wndclassw.lpfnWndProc = _TextAreaWndProc; + wndclassw.cbClsExtra = 0; + wndclassw.cbWndExtra = 0; + wndclassw.hInstance = s_hinst; + wndclassw.hIcon = NULL; + wndclassw.hCursor = LoadCursor(NULL, IDC_ARROW); + wndclassw.hbrBackground = NULL; + wndclassw.lpszMenuName = NULL; + wndclassw.lpszClassName = szTextAreaClassW; + + if (RegisterClassW(&wndclassw) == 0) + return FAIL; + } + } + else +#endif if (GetClassInfo(s_hinst, szTextAreaClass, &wndclass) == 0) { wndclass.style = CS_OWNDC; -- cgit v1.2.1