https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5ff0ef403e3299541da55…
commit 5ff0ef403e3299541da55da4b6e025bc57883423
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Sun Apr 9 15:19:47 2023 +0900
Commit: GitHub <noreply(a)github.com>
CommitDate: Sun Apr 9 15:19:47 2023 +0900
[NTUSER] IntImmActivateLayout: Set CI_IMMACTIVATE if not pImeWnd (#5231)
In IntImmActivateLayout function, if pImeWnd was NULL and pti->spDefaultImc was
non-NULL, then set CI_IMMACTIVATE flag. CORE-11700
---
win32ss/user/ntuser/kbdlayout.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/win32ss/user/ntuser/kbdlayout.c b/win32ss/user/ntuser/kbdlayout.c
index 2f9ea599ab7..f3971cf5c67 100644
--- a/win32ss/user/ntuser/kbdlayout.c
+++ b/win32ss/user/ntuser/kbdlayout.c
@@ -650,6 +650,11 @@ IntImmActivateLayout(
co_IntSendMessage(hImeWnd, WM_IME_SYSTEM, IMS_ACTIVATELAYOUT,
(LPARAM)pKL->hkl);
UserDerefObjectCo(pImeWnd);
}
+ else if (pti->spDefaultImc)
+ {
+ /* IME Activation is needed */
+ pti->pClientInfo->CI_flags |= CI_IMMACTIVATE;
+ }
UserAssignmentLock((PVOID*)&(pti->KeyboardLayout), pKL);
pti->pClientInfo->hKL = pKL->hkl;