From 511753196f4ec733dd40196a209baf3cb40193ab Mon Sep 17 00:00:00 2001 From: ByeongSik Jeon Date: Wed, 16 Apr 2008 19:01:29 +0900 Subject: [PATCH] imm32: Implement ImmSetConversionStatus. --- dlls/imm32/imm.c | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index c03d6fd9450..4eac53a3550 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -1761,16 +1761,27 @@ BOOL WINAPI ImmSetCompositionWindow( BOOL WINAPI ImmSetConversionStatus( HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence) { - static int shown = 0; + InputContextData *data = (InputContextData*)hIMC; - if (!shown) { - FIXME("(%p, %d, %d): stub\n", - hIMC, fdwConversion, fdwSentence - ); - shown = 1; - } - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + TRACE("%p %d %d\n", hIMC, fdwConversion, fdwSentence); + + if (!data) + return FALSE; + + if ( fdwConversion != data->IMC.fdwConversion ) + { + data->IMC.fdwConversion = fdwConversion; + ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, 0, IMC_SETCONVERSIONMODE); + ImmInternalSendIMENotify(data, IMN_SETCONVERSIONMODE, 0); + } + if ( fdwSentence != data->IMC.fdwSentence ) + { + data->IMC.fdwSentence = fdwSentence; + ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, 0, IMC_SETSENTENCEMODE); + ImmInternalSendIMENotify(data, IMN_SETSENTENCEMODE, 0); + } + + return TRUE; } /***********************************************************************