From: Jacek Caban jacek@codeweavers.com
--- dlls/user32/defwnd.c | 35 ----------------------------------- dlls/win32u/defwnd.c | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 35 deletions(-)
diff --git a/dlls/user32/defwnd.c b/dlls/user32/defwnd.c index 70d62c4f718..9e258e5d3c0 100644 --- a/dlls/user32/defwnd.c +++ b/dlls/user32/defwnd.c @@ -147,23 +147,6 @@ LRESULT WINAPI DefWindowProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam } } /* fall through */ - case WM_IME_STARTCOMPOSITION: - case WM_IME_ENDCOMPOSITION: - case WM_IME_SELECT: - case WM_IME_NOTIFY: - case WM_IME_CONTROL: - { - HWND hwndIME = ImmGetDefaultIMEWnd( hwnd ); - if (hwndIME) - result = SendMessageA( hwndIME, msg, wParam, lParam ); - } - break; - case WM_IME_SETCONTEXT: - { - HWND hwndIME = ImmGetDefaultIMEWnd( hwnd ); - if (hwndIME) result = ImmIsUIMessageA( hwndIME, msg, wParam, lParam ); - } - break;
default: result = NtUserMessageCall( hwnd, msg, wParam, lParam, 0, NtUserDefWindowProc, TRUE ); @@ -220,13 +203,6 @@ LRESULT WINAPI DefWindowProcW( result = PostMessageW( hwnd, WM_KEYUP, wParam, lParam ); break;
- case WM_IME_SETCONTEXT: - { - HWND hwndIME = ImmGetDefaultIMEWnd( hwnd ); - if (hwndIME) result = ImmIsUIMessageW( hwndIME, msg, wParam, lParam ); - } - break; - case WM_IME_COMPOSITION: if (lParam & GCS_RESULTSTR) { @@ -249,17 +225,6 @@ LRESULT WINAPI DefWindowProcW( } } /* fall through */ - case WM_IME_STARTCOMPOSITION: - case WM_IME_ENDCOMPOSITION: - case WM_IME_SELECT: - case WM_IME_NOTIFY: - case WM_IME_CONTROL: - { - HWND hwndIME = ImmGetDefaultIMEWnd( hwnd ); - if (hwndIME) - result = SendMessageW( hwndIME, msg, wParam, lParam ); - } - break;
default: result = NtUserMessageCall( hwnd, msg, wParam, lParam, 0, NtUserDefWindowProc, FALSE ); diff --git a/dlls/win32u/defwnd.c b/dlls/win32u/defwnd.c index 3e42e3b1e22..d271b5b9670 100644 --- a/dlls/win32u/defwnd.c +++ b/dlls/win32u/defwnd.c @@ -2901,6 +2901,21 @@ LRESULT default_window_proc( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam, free( win_array ); break; } + + case WM_IME_SETCONTEXT: + case WM_IME_COMPOSITION: + case WM_IME_STARTCOMPOSITION: + case WM_IME_ENDCOMPOSITION: + case WM_IME_SELECT: + case WM_IME_NOTIFY: + case WM_IME_CONTROL: + { + HWND ime_hwnd = get_default_ime_window( hwnd ); + if (ime_hwnd) + result = NtUserMessageCall( ime_hwnd, msg, wparam, lparam, + 0, NtUserSendMessage, ansi ); + } + break; }
return result;