diff --git a/dll/win32/imm32/ime.c b/dll/win32/imm32/ime.c index 5dbddca417e..0fc3494d9d0 100644 --- a/dll/win32/imm32/ime.c +++ b/dll/win32/imm32/ime.c @@ -1468,19 +1468,24 @@ BOOL WINAPI ImmGetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm) */ BOOL WINAPI ImmSetCompositionWindow(HIMC hIMC, LPCOMPOSITIONFORM lpCompForm) { - LPINPUTCONTEXT pIC; + LPINPUTCONTEXTDX pIC; HWND hWnd; if (Imm32IsCrossThreadAccess(hIMC)) return FALSE; - pIC = ImmLockIMC(hIMC); + pIC = (LPINPUTCONTEXTDX)ImmLockIMC(hIMC); if (pIC == NULL) return FALSE; pIC->cfCompForm = *lpCompForm; pIC->fdwInit |= INIT_COMPFORM; + if (pIC->dwUIFlags & 0x8) + pIC->dwUIFlags &= ~0x8; + else + pIC->dwUIFlags &= ~0x2; + hWnd = pIC->hWnd; ImmUnlockIMC(hIMC);