On Tue Mar 28 10:35:26 2023 +0000, Byeongsik Jeon wrote:
Saenaru. This is not an MS IME, but a DDK-based open source Korean IME. I think you can check this in the Wine test code.
On a recent review, I realized that I hadn't analyzed this issue properly, and the problem had already been fixed by another commit.
https://gitlab.winehq.org/wine/wine/-/commit/f6ddd4ca86672fe2739ea7d17015112...
The cause of the problem was that the wrong parameter value(new_context) was being passed to ImeSelect(). Because of this, ImeSelect() didn't work properly and kept the fdwConversion value of the wrong value (fdwConversionCaps).
For example, in ImeSelect(), fdwConversion is initialized in the following routine:
``` if ( !( lpIMC->fdwInit & INIT_CONVERSION ) ) { lpIMC->fdwConversion = IME_CMODE_NATIVE; lpIMC->fdwInit |= INIT_CONVERSION; } ```
If the IME follows this initialization routine, the values of fdwConversion, fdwSentence set in ime_select_ime() will be ignored.