https://git.reactos.org/?p=reactos.git;a=commitdiff;h=edbeaa3c87668d370995f42a8a518bb6917d1d51

commit edbeaa3c87668d370995f42a8a518bb6917d1d51
Author:     Katayama Hirofumi MZ <[email protected]>
AuthorDate: Fri Oct 21 10:52:43 2022 +0900
Commit:     Katayama Hirofumi MZ <[email protected]>
CommitDate: Fri Oct 21 10:52:43 2022 +0900

    [IMM32] Move CtfImmTIMCreateInputContext calls
    
    CORE-11700
---
 dll/win32/imm32/imm.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/dll/win32/imm32/imm.c b/dll/win32/imm32/imm.c
index e8498d9163d..761dc127c9a 100644
--- a/dll/win32/imm32/imm.c
+++ b/dll/win32/imm32/imm.c
@@ -778,6 +778,8 @@ Imm32CreateInputContext(HIMC hIMC, LPINPUTCONTEXT pIC, 
PCLIENTIMC pClientImc, HK
     if (!pIC->hPrivate)
         goto Fail;
 
+    CtfImmTIMCreateInputContext(hIMC);
+
     if (pImeDpi)
     {
         /* Select the IME */
@@ -829,9 +831,14 @@ LPINPUTCONTEXT APIENTRY Imm32InternalLockIMC(HIMC hIMC, 
BOOL fSelect)
     {
         pIC = LocalLock(pClientImc->hInputContext);
         if (pIC)
+        {
+            CtfImmTIMCreateInputContext(hIMC);
             goto Success;
+        }
         else
+        {
             goto Failure;
+        }
     }
 
     dwThreadId = (DWORD)NtUserQueryInputContext(hIMC, QIC_INPUTTHREADID);
@@ -868,7 +875,6 @@ LPINPUTCONTEXT APIENTRY Imm32InternalLockIMC(HIMC hIMC, 
BOOL fSelect)
     }
 
 Success:
-    CtfImmTIMCreateInputContext(hIMC);
     RtlLeaveCriticalSection(&pClientImc->cs);
     InterlockedIncrement(&pClientImc->cLockObj);
     ImmUnlockClientImc(pClientImc);

Reply via email to