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/msgque…
==============================================================================
--- 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.