[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