diff --git a/dll/win32/imm32/imm.c b/dll/win32/imm32/imm.c index 75e0c024ead..e26e6872f3c 100644 --- a/dll/win32/imm32/imm.c +++ b/dll/win32/imm32/imm.c @@ -1973,6 +1973,24 @@ UINT WINAPI ImmGetIMEFileNameW(HKL hKL, LPWSTR lpszFileName, UINT uBufLen) */ BOOL WINAPI ImmGetOpenStatus(HIMC hIMC) { +#ifdef __REACTOS__ + BOOL ret; + LPINPUTCONTEXT pIC; + + TRACE("ImmGetOpenStatus(%p)\n", hIMC); + + if (!hIMC) + return FALSE; + + pIC = ImmLockIMC(hIMC); + if (!pIC) + return FALSE; + + ret = pIC->fOpen; + + ImmUnlockIMC(hIMC); + return ret; +#else InputContextData *data = get_imc_data(hIMC); static int i; @@ -1985,6 +2003,7 @@ BOOL WINAPI ImmGetOpenStatus(HIMC hIMC) FIXME("(%p): semi-stub\n", hIMC); return data->IMC.fOpen; +#endif } /***********************************************************************