Skip to content

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.

  4. zero-length preedit string: as in MR !3115 (merged) commit d1f9aae5, the message followed by WM_IME_ENDCOMPOSITION. Currently in Wine, it is associated with WM_IME_STARTCOMPOSITION.

  5. zero-length result string: ignore.

Merge request reports

Loading