[PATCH v2] dlls: Flush CompositionString after X11DRV_XIMLookupChars.

Alex Kwak take-me-home at kakao.com
Sun Mar 20 07:19:16 CDT 2022


Hi Bernhard,

I'd better do what you say.

so, it would be good to close this thread.


Best Regards,

Alex


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


More information about the wine-devel mailing list