riched20: Handle EM_FINDTEXTEX's unicode conversion in the host.
Signed-off-by: Huw Davies <huw@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c80be66cc4
commit
87717c9cbf
|
@ -4167,30 +4167,13 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
|
|||
{
|
||||
return editor->nTextLimit;
|
||||
}
|
||||
case EM_FINDTEXTEX:
|
||||
{
|
||||
LRESULT r;
|
||||
if(!unicode){
|
||||
FINDTEXTEXA *ex = (FINDTEXTEXA *)lParam;
|
||||
int nChars = MultiByteToWideChar(CP_ACP, 0, ex->lpstrText, -1, NULL, 0);
|
||||
WCHAR *tmp;
|
||||
|
||||
if ((tmp = heap_alloc(nChars * sizeof(*tmp))) != NULL)
|
||||
MultiByteToWideChar(CP_ACP, 0, ex->lpstrText, -1, tmp, nChars);
|
||||
r = ME_FindText(editor, wParam, &ex->chrg, tmp, &ex->chrgText);
|
||||
heap_free(tmp);
|
||||
}else{
|
||||
FINDTEXTEXW *ex = (FINDTEXTEXW *)lParam;
|
||||
r = ME_FindText(editor, wParam, &ex->chrg, ex->lpstrText, &ex->chrgText);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
case EM_FINDTEXT:
|
||||
case EM_FINDTEXTW:
|
||||
{
|
||||
FINDTEXTW *ft = (FINDTEXTW *)lParam;
|
||||
return ME_FindText(editor, wParam, &ft->chrg, ft->lpstrText, NULL);
|
||||
}
|
||||
case EM_FINDTEXTEX:
|
||||
case EM_FINDTEXTEXW:
|
||||
{
|
||||
FINDTEXTEXW *ex = (FINDTEXTEXW *)lParam;
|
||||
|
|
|
@ -850,6 +850,27 @@ static LRESULT RichEditWndProc_common( HWND hwnd, UINT msg, WPARAM wparam,
|
|||
if (!unicode) ME_EndToUnicode( CP_ACP, (WCHAR *)new_params.lpstrText );
|
||||
break;
|
||||
}
|
||||
case EM_FINDTEXTEX:
|
||||
{
|
||||
FINDTEXTEXA *paramsA = (FINDTEXTEXA *)lparam;
|
||||
FINDTEXTEXW *params = (FINDTEXTEXW *)lparam;
|
||||
FINDTEXTEXW new_params;
|
||||
int len;
|
||||
|
||||
if (!unicode)
|
||||
{
|
||||
new_params.chrg = params->chrg;
|
||||
new_params.lpstrText = ME_ToUnicode( CP_ACP, (char *)params->lpstrText, &len );
|
||||
params = &new_params;
|
||||
}
|
||||
hr = ITextServices_TxSendMessage( host->text_srv, EM_FINDTEXTEXW, wparam, (LPARAM)params, &res );
|
||||
if (!unicode)
|
||||
{
|
||||
ME_EndToUnicode( CP_ACP, (WCHAR *)new_params.lpstrText );
|
||||
paramsA->chrgText = params->chrgText;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case WM_GETTEXT:
|
||||
{
|
||||
GETTEXTEX params;
|
||||
|
|
Loading…
Reference in New Issue