[NTUSER][IMM32] Create the default IME window! (retry) (#4463)
authorKatayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
Fri, 22 Apr 2022 22:11:48 +0000 (07:11 +0900)
committerGitHub <noreply@github.com>
Fri, 22 Apr 2022 22:11:48 +0000 (07:11 +0900)
commit8f719cb97e8e2148ef149edb984e60a9a95b30c2
tree66a31175db3aad0bcc1cb227a6a99bd9b83675ef
parent2f2795ab4cf7fdddf6c9d88d885a338a7678a888
[NTUSER][IMM32] Create the default IME window! (retry) (#4463)

The default IME window has to be created for each top-level window in specific condition. It is needed for implementing Japanese input.
- Add IntFocusSetInputContext helper function.
- Call IntFocusSetInputContext after sending WM_KILLFOCUS message.
- Add IntWantImeWindow, co_IntCreateDefaultImeWindow, and IntDestroyOwnedWindows helper functions.
- Create the default IME window (spwndDefaultIme) for the specified window at IntCreateWindow.
- Fix Imm32InternalLockIMC function.
CORE-11700
dll/win32/imm32/imm.c
sdk/include/ddk/immdev.h
win32ss/user/ntuser/focus.c
win32ss/user/ntuser/ime.c
win32ss/user/ntuser/window.c
win32ss/user/ntuser/window.h
win32ss/user/user32/misc/imm.c