We can't use RtlCreateUnicodeStringFromAsciiz for WM_SETTEXT as the
resulting unicode string may be greater than 0xffff bytes.
This commit is contained in:
parent
83d92d3e0f
commit
b367a6e628
|
@ -595,10 +595,10 @@ INT WINPROC_MapMsg32ATo32W( HWND hwnd, UINT msg, WPARAM *pwparam, LPARAM *plpara
|
|||
case LB_ADDFILE:
|
||||
case EM_REPLACESEL:
|
||||
{
|
||||
UNICODE_STRING usBuffer;
|
||||
if(!*plparam) return 0;
|
||||
RtlCreateUnicodeStringFromAsciiz(&usBuffer,(LPCSTR)*plparam);
|
||||
*plparam = (LPARAM)usBuffer.Buffer;
|
||||
DWORD len = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)*plparam, -1, NULL, 0);
|
||||
WCHAR *buf = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
len = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)*plparam, -1, buf, len);
|
||||
*plparam = (LPARAM)buf;
|
||||
return (*plparam ? 1 : -1);
|
||||
}
|
||||
case WM_GETTEXTLENGTH:
|
||||
|
|
Loading…
Reference in New Issue