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

commit fe8f80610e18179ed028a119538724e04ac64e64
Author:     Katayama Hirofumi MZ <[email protected]>
AuthorDate: Tue Aug 16 08:02:49 2022 +0900
Commit:     GitHub <[email protected]>
CommitDate: Tue Aug 16 08:02:49 2022 +0900

    [NTUSER] Send WM_IME_SYSTEM:IMS_LOADTHREADLAYOUT at IntCreateWindow (#4606)
    
    - Send WM_IME_SYSTEM:IMS_LOADTHREADLAYOUT message at IntCreateWindow 
function.
    CORE-11700
---
 win32ss/user/ntuser/window.c | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/win32ss/user/ntuser/window.c b/win32ss/user/ntuser/window.c
index b6a2c28bab2..a2b9e24b6d8 100644
--- a/win32ss/user/ntuser/window.c
+++ b/win32ss/user/ntuser/window.c
@@ -2053,17 +2053,22 @@ PWND FASTCALL IntCreateWindow(CREATESTRUCTW* Cs,
       PWND pwndDefaultIme = co_IntCreateDefaultImeWindow(pWnd, pWnd->hModule);
       UserAssignmentLock((PVOID*)&(pti->spwndDefaultIme), pwndDefaultIme);
 
-      if (pwndDefaultIme && (pti->pClientInfo->CI_flags & CI_IMMACTIVATE))
+      if (pwndDefaultIme)
       {
+         HWND hImeWnd;
          USER_REFERENCE_ENTRY Ref;
-         HKL hKL;
-
          UserRefObjectCo(pwndDefaultIme, &Ref);
 
-         hKL = pti->KeyboardLayout->hkl;
-         co_IntSendMessage(UserHMGetHandle(pwndDefaultIme), WM_IME_SYSTEM,
-                           IMS_ACTIVATELAYOUT, (LPARAM)hKL);
-         pti->pClientInfo->CI_flags &= ~CI_IMMACTIVATE;
+         hImeWnd = UserHMGetHandle(pwndDefaultIme);
+
+         co_IntSendMessage(hImeWnd, WM_IME_SYSTEM, IMS_LOADTHREADLAYOUT, 0);
+
+         if (pti->pClientInfo->CI_flags & CI_IMMACTIVATE)
+         {
+            HKL hKL = pti->KeyboardLayout->hkl;
+            co_IntSendMessage(hImeWnd, WM_IME_SYSTEM, IMS_ACTIVATELAYOUT, 
(LPARAM)hKL);
+            pti->pClientInfo->CI_flags &= ~CI_IMMACTIVATE;
+         }
 
          UserDerefObjectCo(pwndDefaultIme);
       }

Reply via email to