tdf#143447 ignore IME candidate window state.
commitc3189d9527ee6e5923bfc897428b1b1ade803a47
authorMark Hung <marklh9@gmail.com>
Mon, 4 Apr 2022 12:12:36 +0000 (4 20:12 +0800)
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>
Wed, 13 Apr 2022 14:56:45 +0000 (13 16:56 +0200)
tree9f113f7960702a1971266ee61bc23910b2f6876f
parent3b91c4cdbca6ae02fa8c195ac8a6715ac8dcdf52
tdf#143447 ignore IME candidate window state.

Some traditional Chinese IMEs ( Input Method Editors ) under
Windows10 send WM_IME_NOTIFY with IMN_OPENCANDIDATE but not
IMN_CLOSECANDIDATE. The behavior is different if users configure
the IME and enable "legacy" option.

That caused the cursor been hidden, misled by mbCandidateMode.

The patch ignores the candidate window mode in case the length
of the composition string is 0, assume in that case candidate
window is useless, and resets the candidate window mode when
composition ended to maintain the state as much as we can.

Change-Id: I91a1c23ee1a031313243e032653f50f39b0f2a3c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132512
Tested-by: Jenkins
Reviewed-by: Mark Hung <marklh9@gmail.com>
(cherry picked from commit 2b2d1c08c94fdc3982971c2b19ea241f05e578c9)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132858
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
vcl/win/window/salframe.cxx