imm32: Pass the old conversion status value to the IME.

This commit is contained in:
ByeongSik Jeon 2008-04-23 19:05:30 +09:00 committed by Alexandre Julliard
parent 9a89e4d68c
commit 4c5a21c60e

View File

@ -1779,6 +1779,7 @@ BOOL WINAPI ImmSetCompositionWindow(
BOOL WINAPI ImmSetConversionStatus( BOOL WINAPI ImmSetConversionStatus(
HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence) HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence)
{ {
DWORD oldConversion, oldSentence;
InputContextData *data = (InputContextData*)hIMC; InputContextData *data = (InputContextData*)hIMC;
TRACE("%p %d %d\n", hIMC, fdwConversion, fdwSentence); TRACE("%p %d %d\n", hIMC, fdwConversion, fdwSentence);
@ -1788,14 +1789,16 @@ BOOL WINAPI ImmSetConversionStatus(
if ( fdwConversion != data->IMC.fdwConversion ) if ( fdwConversion != data->IMC.fdwConversion )
{ {
oldConversion = data->IMC.fdwConversion;
data->IMC.fdwConversion = fdwConversion; data->IMC.fdwConversion = fdwConversion;
ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, 0, IMC_SETCONVERSIONMODE); ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, oldConversion, IMC_SETCONVERSIONMODE);
ImmInternalSendIMENotify(data, IMN_SETCONVERSIONMODE, 0); ImmInternalSendIMENotify(data, IMN_SETCONVERSIONMODE, 0);
} }
if ( fdwSentence != data->IMC.fdwSentence ) if ( fdwSentence != data->IMC.fdwSentence )
{ {
oldSentence = data->IMC.fdwSentence;
data->IMC.fdwSentence = fdwSentence; data->IMC.fdwSentence = fdwSentence;
ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, 0, IMC_SETSENTENCEMODE); ImmNotifyIME(hIMC, NI_CONTEXTUPDATED, oldSentence, IMC_SETSENTENCEMODE);
ImmInternalSendIMENotify(data, IMN_SETSENTENCEMODE, 0); ImmInternalSendIMENotify(data, IMN_SETSENTENCEMODE, 0);
} }