Look here
https://github.com/wine-mirror/wine/blob/master/dlls/winex11.drv/xim.c#L191
When MultiByteToWideChar above fails, dwOutput will be 0, and then decreased to -1. The -1
value passed to X11DRV_ImmSetInternalString will then be passed to HeapAlloc, making a
heap corruption. I encountered this issue once and my temporary solution is to change the
default locale inside my Docker environment in which Wine is running. Personally speaking
this is a bad programming style, but I am not familiar with Wine code base and I am not
sure what is the right way to throw up this error when detected. Thanks
BTW, the patch submitting procedure for this project is tedious for a GitHub user who
didn't use any mailing lists before