Author: jimtabor Date: Thu Aug 11 22:33:12 2016 New Revision: 72203
URL: http://svn.reactos.org/svn/reactos?rev=72203&view=rev Log: [NtUser] - Send Input Language Change System Character flag if font signature and system character is set.
Modified: trunk/reactos/win32ss/user/ntuser/msgqueue.c
Modified: trunk/reactos/win32ss/user/ntuser/msgqueue.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/msgqueu... ============================================================================== --- trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/ntuser/msgqueue.c [iso-8859-1] Thu Aug 11 22:33:12 2016 @@ -1880,6 +1880,7 @@ { if ( Msg->wParam == VK_SHIFT && !(IS_KEY_DOWN(gafAsyncKeyState, VK_SHIFT))) { + WPARAM wParamILR; PKL pkl = pti->KeyboardLayout;
if (pWnd) UserDerefObjectCo(pWnd); @@ -1894,10 +1895,18 @@ if (pkl != NULL && gLanguageToggleKeyState) { TRACE("Posting WM_INPUTLANGCHANGEREQUEST KeyState %d\n", gLanguageToggleKeyState ); - UserPostMessage(UserHMGetHandle(pWnd), - WM_INPUTLANGCHANGEREQUEST, - gLanguageToggleKeyState, - (LPARAM)pkl->hkl); + + wParamILR = gLanguageToggleKeyState; + // If system character set and font signature send flag. + if ( gSystemFS & pkl->dwFontSigs ) + { + wParamILR |= INPUTLANGCHANGE_SYSCHARSET; + } + + UserPostMessage( UserHMGetHandle(pWnd), + WM_INPUTLANGCHANGEREQUEST, + wParamILR, + (LPARAM)pkl->hkl );
gLanguageToggleKeyState = 0; //// Keep looping.