- Send Input Language Change System Character flag if font signature and system character is set.

svn path=/trunk/; revision=72203
This commit is contained in:
James Tabor 2016-08-11 22:33:12 +00:00
parent d3001862bf
commit 018df975b6

View file

@ -1880,6 +1880,7 @@ BOOL co_IntProcessKeyboardMessage(MSG* Msg, BOOL* RemoveMessages)
{ {
if ( Msg->wParam == VK_SHIFT && !(IS_KEY_DOWN(gafAsyncKeyState, VK_SHIFT))) if ( Msg->wParam == VK_SHIFT && !(IS_KEY_DOWN(gafAsyncKeyState, VK_SHIFT)))
{ {
WPARAM wParamILR;
PKL pkl = pti->KeyboardLayout; PKL pkl = pti->KeyboardLayout;
if (pWnd) UserDerefObjectCo(pWnd); if (pWnd) UserDerefObjectCo(pWnd);
@ -1894,10 +1895,18 @@ BOOL co_IntProcessKeyboardMessage(MSG* Msg, BOOL* RemoveMessages)
if (pkl != NULL && gLanguageToggleKeyState) if (pkl != NULL && gLanguageToggleKeyState)
{ {
TRACE("Posting WM_INPUTLANGCHANGEREQUEST KeyState %d\n", gLanguageToggleKeyState ); TRACE("Posting WM_INPUTLANGCHANGEREQUEST KeyState %d\n", gLanguageToggleKeyState );
UserPostMessage(UserHMGetHandle(pWnd),
WM_INPUTLANGCHANGEREQUEST, wParamILR = gLanguageToggleKeyState;
gLanguageToggleKeyState, // If system character set and font signature send flag.
(LPARAM)pkl->hkl); if ( gSystemFS & pkl->dwFontSigs )
{
wParamILR |= INPUTLANGCHANGE_SYSCHARSET;
}
UserPostMessage( UserHMGetHandle(pWnd),
WM_INPUTLANGCHANGEREQUEST,
wParamILR,
(LPARAM)pkl->hkl );
gLanguageToggleKeyState = 0; gLanguageToggleKeyState = 0;
//// Keep looping. //// Keep looping.