[PATCH v4 3/3] winex11.drv: calls X11DRV_ForceXIMRest() in NotifyIME(CPS_COMPLETE)

Alex Kwak take-me-home at kakao.com
Sat Apr 2 09:39:25 CDT 2022


The composition on the IME message is end, but the XIM string is
in-composition state, and the same string remains on the XIM
afterwards.
so, call X11DRV_ForceXIMReset and finish composition state in the XIM.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52754
Signed-off-by: Alex Kwak <take-me-home at kakao.com>
---
v2: When XmbResetIC is called and KeyEvent occurs, it is a problem with
some IME (i.e., ibus-hangul).
v3: implement X11DRV_FindXIC(..) for getting exists XIC.
v4: Split the patches
---
 dlls/winex11.drv/ime.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/dlls/winex11.drv/ime.c b/dlls/winex11.drv/ime.c
index c1584930861..2fe78234671 100644
--- a/dlls/winex11.drv/ime.c
+++ b/dlls/winex11.drv/ime.c
@@ -753,6 +753,8 @@ BOOL WINAPI NotifyIME(HIMC hIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
                     myPrivate->bInComposition = FALSE;
                     ImmUnlockIMCC(lpIMC->hPrivate);
 
+                    X11DRV_ForceXIMReset(lpIMC->hWnd);
+
                     bRet = TRUE;
                 }
                 break;
-- 
2.32.0




More information about the wine-devel mailing list