Module: wine
Branch: master
Commit: a1aff0ec8c88ee8dabb7ea7c77cb35de91139cae
URL: https://gitlab.winehq.org/wine/wine/-/commit/a1aff0ec8c88ee8dabb7ea7c77cb35…
Author: Zhiyi Zhang <zzhang(a)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(a)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;