Dmitry Timoshkov <[email protected]> writes:

> @@ -2541,9 +2541,13 @@ INT CDECL X11DRV_ToUnicodeEx(UINT virtKey, UINT 
> scanCode, const BYTE *lpKeyState
>      e.state = 0;
>      e.type = KeyPress;
>  
> -    focus = GetFocus();
> -    if (focus) focus = GetAncestor( focus, GA_ROOT );
> -    if (!focus) focus = GetActiveWindow();
> +    focus = x11drv_thread_data()->last_xic_hwnd;
> +    if (!focus)
> +    {
> +        HWND focus = GetFocus();
> +        if (focus) focus = GetAncestor( focus, GA_ROOT );
> +        if (!focus) focus = GetActiveWindow();
> +    }

Have you tested that code path? This can't possibly work.

-- 
Alexandre Julliard
[email protected]


Reply via email to