[1/2] imm32: Fix ImmAssociateContextEx Parameter Handling

Nikolay Sivov nsivov at codeweavers.com
Fri Apr 23 07:32:16 CDT 2010


On 4/23/2010 16:14, André Hentschel wrote:
> ---
>   dlls/imm32/imm.c         |   13 ++++++++++---
>   dlls/imm32/tests/imm32.c |    8 ++++----
>   2 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c
> index 2a85b70..2fd6477 100644
> --- a/dlls/imm32/imm.c
> +++ b/dlls/imm32/imm.c
> @@ -516,12 +516,19 @@ static BOOL CALLBACK _ImmAssociateContextExEnumProc(HWND hwnd, LPARAM lParam)
>    */
>   BOOL WINAPI ImmAssociateContextEx(HWND hWnd, HIMC hIMC, DWORD dwFlags)
>   {
> -    TRACE("(%p, %p, %d): stub\n", hWnd, hIMC, dwFlags);
> +    TRACE("(%p, %p, 0x%x):\n", hWnd, hIMC, dwFlags);
>
>       if (!IMM_GetThreadData()->defaultContext)
>           IMM_GetThreadData()->defaultContext = ImmCreateContext();
>
> -    if (dwFlags == IACE_DEFAULT)
> +    if (!hWnd) return FALSE;
> +
> +    if (!dwFlags)
> +    {
> +        ImmAssociateContext(hWnd,hIMC);
> +        return TRUE;
> +    }
> +    else if (dwFlags == IACE_DEFAULT)
>       {
>           ImmAssociateContext(hWnd,IMM_GetThreadData()->defaultContext);
>           return TRUE;
> @@ -539,7 +546,7 @@ BOOL WINAPI ImmAssociateContextEx(HWND hWnd, HIMC hIMC, DWORD dwFlags)
>       }
>       else
>       {
> -        ERR("Unknown dwFlags 0x%x\n",dwFlags);
> +        FIXME("Unknown dwFlags 0x%x\n",dwFlags);
>           return FALSE;
>       }
>   }
>    
Some comments for this. Why return value from ImmAssociateContext is 
never used? Also it nicely turns to switch() for this dwFlags parameter, 
but it's a matter of taste.




More information about the wine-devel mailing list