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@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;