From 018df975b687f3747b2977cb28a25d757d68d9c2 Mon Sep 17 00:00:00 2001 From: James Tabor Date: Thu, 11 Aug 2016 22:33:12 +0000 Subject: [PATCH] [NtUser] - Send Input Language Change System Character flag if font signature and system character is set. svn path=/trunk/; revision=72203 --- reactos/win32ss/user/ntuser/msgqueue.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/reactos/win32ss/user/ntuser/msgqueue.c b/reactos/win32ss/user/ntuser/msgqueue.c index e17dbd6131b..eec0ac912bf 100644 --- a/reactos/win32ss/user/ntuser/msgqueue.c +++ b/reactos/win32ss/user/ntuser/msgqueue.c @@ -1880,6 +1880,7 @@ BOOL co_IntProcessKeyboardMessage(MSG* Msg, BOOL* RemoveMessages) { 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 @@ BOOL co_IntProcessKeyboardMessage(MSG* Msg, BOOL* RemoveMessages) 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. -- 2.17.1