Zhiyi Zhang : comctl32/edit: Handle IME composition result string only when EIMES_GETCOMPSTRATONCE is set.

Alexandre Julliard julliard at winehq.org
Tue Aug 16 16:02:12 CDT 2022


Module: wine
Branch: master
Commit: a1aff0ec8c88ee8dabb7ea7c77cb35de91139cae
URL:    https://gitlab.winehq.org/wine/wine/-/commit/a1aff0ec8c88ee8dabb7ea7c77cb35de91139cae

Author: Zhiyi Zhang <zzhang at 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 at 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;
 




More information about the wine-cvs mailing list