af8f1b5f
by Byeong-Sik Jeon at 2025-04-17T12:16:23+02:00
imm32: Fix the WM_IME_COMPOSITION messages to be between the WM_IME_{START|END}COMPOSITION message.
This patch fixes a Japanese input issue in MS Office Visual Basic and Mery text
editor ime inline mode. The following was considered:
1. Japanese ime: the result string message is always placed between
WM_IME_STARTCOMPOSITION and WM_IME_ENDCOMPOSITION. Currently in Wine,
the result string message follows WM_IME_ENDCOMPOSITION.
dlls/imm32/tests/imm32.c::test_nihongo_no().
2. Chinese ime: same as Japanese ime.
3. Korean ime: mostly the same, but there are some cases where it is not
(e.g. CPS_COMPLETE, 'r-k-RETURN'). However, I haven't found any problem
even if it behave like Japanese ime message order.
3. zero-length preedit string: as in MR !3115 commit d1f9aae, the message
followed by WM_IME_ENDCOMPOSITION. Currently in Wine, it is associated
with WM_IME_STARTCOMPOSITION.
4. zero-length result string: ignore.