<div dir="auto">Hi,<div dir="auto"><br></div><div dir="auto">I'd suggest to split the patch into two, since you are changing 2 different components at once. </div><div dir="auto">Also maybe you could write a small test for the riched part. </div><div dir="auto"><br></div><div dir="auto">Bernhard </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Alex Kwak <<a href="mailto:take-me-home@kakao.com" rel="noreferrer noreferrer" target="_blank">take-me-home@kakao.com</a>> schrieb am Sa., 19. März 2022, 18:14:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello, Akihiro<br>
Thanks for reviewing.<br>
<br>
just now, I wrote a bug with logs.<br>
( <a href="https://bugs.winehq.org/show_bug.cgi?id=52700" rel="noreferrer noreferrer noreferrer noreferrer" target="_blank">https://bugs.winehq.org/show_bug.cgi?id=52700</a> )<br>
<br>
This is a problem that occurs in almost all Korean input method.<br>
( except root style IME )<br>
<br>
Best Regards,<br>
Alex<br>
<br>
<br>
22. 3. 19. 23:27에 Akihiro Sagawa 이(가) 쓴 글:<br>
> On Thu, 17 Mar 2022 07:48:51 +0900, Alex Kwak wrote:<br>
>> There is no flushing after X11DRV_XIMLookupChars on wine11xdrv. for<br>
>> this reason, the characters of the GUI are not updated.<br>
> [...]<br>
>> diff --git a/dlls/winex11.drv/xim.c b/dlls/winex11.drv/xim.c<br>
>> index 3994c2106cc..66c56c177ac 100644<br>
>> --- a/dlls/winex11.drv/xim.c<br>
>> +++ b/dlls/winex11.drv/xim.c<br>
>> @@ -117,6 +117,16 @@ void X11DRV_XIMLookupChars( const char *str, DWORD count )<br>
>>   <br>
>>       IME_SetResultString(wcOutput, dwOutput);<br>
>>       HeapFree(GetProcessHeap(), 0, wcOutput);<br>
>> +<br>
>> +    /*<br>
>> +     * After then if `CompositionString` is remaining, flushing it.<br>
>> +     * i.e., Korean<br>
>> +     */<br>
>> +    if (CompositionString)<br>
>> +    {<br>
>> +        IME_SetCompositionString(SCS_SETSTR, CompositionString,<br>
>> +                                 dwCompStringLength, NULL, 0);<br>
>> +    }<br>
>>   }<br>
>>   <br>
>>   static BOOL XIMPreEditStateNotifyCallback(XIC xic, XPointer p, XPointer data)<br>
> Hello Alex,<br>
> How about filing a bug regarding this issue and attaching<br>
> WINEDEBUG=xim,imm traces?<br>
> What XIM server or Input Method does suffer from the issue?<br>
><br>
>  From my point of view:<br>
>   - If the XIM server supports XIMPreeditCallbacks,<br>
>     CompositionString should be updated via XIMPreEditDrawCallback.<br>
>   - If the XIM server doesn't support XIMPreeditCallbacks,<br>
>     CompositionString is always NULL. So, your additional code doesn't<br>
> make sense.<br>
><br>
> At least, I can't reproduce the first issue with fcitx-mozc, a Japanese<br>
> input method...<br>
><br>
> Akihiro Sagawa<br>
><br>
<br>
</blockquote></div>