mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
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)
This commit is contained in:
parent
165641da25
commit
33d0b69ab8
@ -1329,6 +1329,7 @@ gui_mch_init(void)
|
|||||||
WNDCLASS wndclass;
|
WNDCLASS wndclass;
|
||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
const WCHAR szVimWndClassW[] = VIM_CLASSW;
|
const WCHAR szVimWndClassW[] = VIM_CLASSW;
|
||||||
|
const WCHAR szTextAreaClassW[] = L"VimTextArea";
|
||||||
WNDCLASSW wndclassw;
|
WNDCLASSW wndclassw;
|
||||||
#endif
|
#endif
|
||||||
#ifdef GLOBAL_IME
|
#ifdef GLOBAL_IME
|
||||||
@ -1479,6 +1480,28 @@ gui_mch_init(void)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Create the text area window */
|
/* 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)
|
if (GetClassInfo(s_hinst, szTextAreaClass, &wndclass) == 0)
|
||||||
{
|
{
|
||||||
wndclass.style = CS_OWNDC;
|
wndclass.style = CS_OWNDC;
|
||||||
|
@ -1084,13 +1084,6 @@ _TextAreaWndProc(
|
|||||||
case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam);
|
case WM_NOTIFY: Handle_WM_Notify(hwnd, (LPNMHDR)lParam);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
#endif
|
#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:
|
default:
|
||||||
return MyWindowProc(hwnd, uMsg, wParam, lParam);
|
return MyWindowProc(hwnd, uMsg, wParam, lParam);
|
||||||
}
|
}
|
||||||
|
@ -681,6 +681,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
362,
|
||||||
/**/
|
/**/
|
||||||
361,
|
361,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user