imm32: Pass the old conversion status value to the IME.
This commit is contained in:
parent
9a89e4d68c
commit
4c5a21c60e
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user