Module: wine Branch: master Commit: 2aa54a90bd24f6aa422a2eb832a54d9afe585259 URL: https://gitlab.winehq.org/wine/wine/-/commit/2aa54a90bd24f6aa422a2eb832a54d9...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Fri Aug 12 11:32:54 2022 +0800
user32/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/user32/edit.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c index 6593ee6dce2..49cf2751f0a 100644 --- a/dlls/user32/edit.c +++ b/dlls/user32/edit.c @@ -5198,6 +5198,12 @@ LRESULT EditWndProc_common( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, B break;
case WM_IME_COMPOSITION: + if (lParam & GCS_RESULTSTR && !(es->ime_status & EIMES_GETCOMPSTRATONCE)) + { + DefWindowProcT(hwnd, msg, wParam, lParam, unicode); + break; + } + EDIT_ImeComposition(hwnd, lParam, es); break;