From: Bram Moolenaar Date: Wed, 17 Feb 2010 15:31:32 +0000 (+0100) Subject: updated for version 7.2.362 X-Git-Tag: v7.2.362 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=33d0b69ab8112f57a0b4c35a6a1add440a60b81f;p=vim 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) --- 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; diff --git a/src/gui_w48.c b/src/gui_w48.c index 40af60fa9..ddaf1fba3 100644 --- a/src/gui_w48.c +++ b/src/gui_w48.c @@ -1084,13 +1084,6 @@ _TextAreaWndProc( case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam); return TRUE; #endif - /* Workaround for the problem that MyWindowProc() returns FALSE on 64 - * bit windows when cross-compiled using Mingw libraries. (Andy - * Kittner) */ - case WM_NCCREATE: - MyWindowProc(hwnd, uMsg, wParam, lParam); - return TRUE; - default: return MyWindowProc(hwnd, uMsg, wParam, lParam); } diff --git a/src/version.c b/src/version.c index 89a553d1f..47c122363 100644 --- a/src/version.c +++ b/src/version.c @@ -681,6 +681,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 362, /**/ 361, /**/