Module: wine Branch: master Commit: a1aff0ec8c88ee8dabb7ea7c77cb35de91139cae URL: https://gitlab.winehq.org/wine/wine/-/commit/a1aff0ec8c88ee8dabb7ea7c77cb35d...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Aug 12 11:32:54 2022 +0800
comctl32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.
If EIMES_GETCOMPSTRATONCE is not set, WM_IME_COMPOSITION with LPARAM set to GCS_RESULTSTR should be passed to the default window procedure according to MSDN.
Fix some windows based on edit control not being able to input Chinese.
Signed-off-by: Zhiyi Zhang zzhang@codeweavers.com
---
dlls/comctl32/edit.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dlls/comctl32/edit.c b/dlls/comctl32/edit.c index 2fb97b174b3..5b900825981 100644 --- a/dlls/comctl32/edit.c +++ b/dlls/comctl32/edit.c @@ -5062,6 +5062,12 @@ static LRESULT CALLBACK EDIT_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPAR break;
case WM_IME_COMPOSITION: + if (lParam & GCS_RESULTSTR && !(es->ime_status & EIMES_GETCOMPSTRATONCE)) + { + DefWindowProcW(hwnd, msg, wParam, lParam); + break; + } + EDIT_ImeComposition(hwnd, lParam, es); break;