[v2 PATCH] imm32: Automatically initialize COM on window activation.

Alexandre Julliard julliard at winehq.org
Wed Feb 6 03:54:46 CST 2019

Nikolay Sivov <nsivov at codeweavers.com> writes:

> On 2/6/19 11:38 AM, Alexandre Julliard wrote:
>> Nikolay Sivov <nsivov at codeweavers.com> writes:
>>> diff --git a/dlls/imm32/imm32.spec b/dlls/imm32/imm32.spec
>>> index 4197bb81e2..d9cdc794e9 100644
>>> --- a/dlls/imm32/imm32.spec
>>> +++ b/dlls/imm32/imm32.spec
>>> @@ -117,3 +117,4 @@
>>>   @ stdcall __wine_get_ui_window(ptr)
>>>   @ stdcall __wine_register_window(long)
>>>   @ stdcall __wine_unregister_window(long)
>>> +@ stdcall __wine_activate_window(long)
>> It shouldn't be necessary to add a custom entry point for this, it
>> should be part of the normal IME flow. Judging from the message traces,
>> it should probably happen by sending WM_IME_SETCONTEXT on focus changes.
> The problem is, it will have even larger impact if I start to mess
> with IME message handling which as I remember took some time to
> stabilize.
> Right now I see traces of what I think you're suggesting in winex11
> xim integration only, that calls
> ImmAssociateContext() to send this IME message. However initialization
> should happen regardless of windowing driver we use, so imm32 has to respond to
> input focus changes.
> So to be clear, you're talking about making general improvements in
> this area first?

It may require some code to be moved to user32, but it could also be
left to the windowing driver, if that's easier. If it works with winex11
but not with the other drivers they can be fixed.

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list