Commit ac9c3ef5 authored by Zhiyi Zhang's avatar Zhiyi Zhang Committed by Alexandre Julliard

user32/edit: Let DefWindowProcA/W() handle WM_IME_CHAR.

So that WM_IME_CHAR will be converted to WM_CHAR in DefWindowProcA/W(). Signed-off-by: 's avatarZhiyi Zhang <zzhang@codeweavers.com>
parent 89ee2b02
...@@ -4976,20 +4976,6 @@ LRESULT EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, B ...@@ -4976,20 +4976,6 @@ LRESULT EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, B
} }
break; break;
case WM_IME_CHAR:
if (!unicode)
{
WCHAR charW;
CHAR strng[2];
strng[0] = wParam >> 8;
strng[1] = wParam & 0xff;
if (strng[0]) MultiByteToWideChar(CP_ACP, 0, strng, 2, &charW, 1);
else MultiByteToWideChar(CP_ACP, 0, &strng[1], 1, &charW, 1);
result = EDIT_WM_Char(es, charW);
break;
}
/* fall through */
case WM_CHAR: case WM_CHAR:
{ {
WCHAR charW; WCHAR charW;
......
...@@ -12271,7 +12271,7 @@ static DWORD WINAPI test_edit_ime_messages(void *unused_arg) ...@@ -12271,7 +12271,7 @@ static DWORD WINAPI test_edit_ime_messages(void *unused_arg)
flush_sequence(); flush_sequence();
SendMessageA(hwnd, WM_IME_CHAR, '0', 1); SendMessageA(hwnd, WM_IME_CHAR, '0', 1);
while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) DispatchMessageA(&msg); while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) DispatchMessageA(&msg);
ok_sequence(edit_wm_ime_char_seq, "WM_IME_CHAR", TRUE); ok_sequence(edit_wm_ime_char_seq, "WM_IME_CHAR", FALSE);
/* Test IME messages when EIMES_GETCOMPSTRATONCE is set */ /* Test IME messages when EIMES_GETCOMPSTRATONCE is set */
lr = SendMessageA(hwnd, EM_SETIMESTATUS, EMSIS_COMPOSITIONSTRING, EIMES_GETCOMPSTRATONCE); lr = SendMessageA(hwnd, EM_SETIMESTATUS, EMSIS_COMPOSITIONSTRING, EIMES_GETCOMPSTRATONCE);
...@@ -12292,7 +12292,7 @@ static DWORD WINAPI test_edit_ime_messages(void *unused_arg) ...@@ -12292,7 +12292,7 @@ static DWORD WINAPI test_edit_ime_messages(void *unused_arg)
flush_sequence(); flush_sequence();
SendMessageA(hwnd, WM_IME_CHAR, '0', 1); SendMessageA(hwnd, WM_IME_CHAR, '0', 1);
while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) DispatchMessageA(&msg); while (PeekMessageA(&msg, 0, 0, 0, PM_REMOVE)) DispatchMessageA(&msg);
ok_sequence(edit_wm_ime_char_seq, "WM_IME_CHAR", TRUE); ok_sequence(edit_wm_ime_char_seq, "WM_IME_CHAR", FALSE);
ImmReleaseContext(hwnd, himc); ImmReleaseContext(hwnd, himc);
DestroyWindow(hwnd); DestroyWindow(hwnd);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment