(try 3) imm32: there is only 1 default Hwnd per thread

Alexandre Julliard julliard at winehq.org
Wed Sep 26 10:18:58 CDT 2012


Aric Stewart <aric at codeweavers.com> writes:

> -    if (data->imeWnd == NULL)
> +    if (defWnd == NULL)
>      {
>          /* create the ime window */
> -        data->imeWnd = CreateWindowExW( WS_EX_TOOLWINDOW,
> +        defWnd = CreateWindowExW( WS_EX_TOOLWINDOW,
>                      data->immKbd->imeClassName, NULL, WS_POPUP, 0, 0, 1, 1, 0,
>                      0, data->immKbd->hIME, 0);
> -        SetWindowLongPtrW(data->imeWnd, IMMGWL_IMC, (LONG_PTR)data);
> -        IMM_GetThreadData()->hwndDefault = data->imeWnd;
> +        SetWindowLongPtrW(defWnd, IMMGWL_IMC, (LONG_PTR)data);
> +        IMM_GetThreadData()->hwndDefault = defWnd;

So now, shouldn't you be resetting IMMGWL_IMC at some point?

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list