Module: wine Branch: master Commit: bd25af9dba280e3d80f3080140f2f5ab2cd0dfb3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bd25af9dba280e3d80f3080140... Author: Aric Stewart <aric(a)codeweavers.com> Date: Thu Dec 11 11:30:20 2008 -0600 user32: Proper handling of WM_INPUTLANGCHANGEREQUEST. --- dlls/user32/defwnd.c | 20 ++++---------------- 1 files changed, 4 insertions(+), 16 deletions(-) diff --git a/dlls/user32/defwnd.c b/dlls/user32/defwnd.c index 8a2d21e..c4951df 100644 --- a/dlls/user32/defwnd.c +++ b/dlls/user32/defwnd.c @@ -759,6 +759,10 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa break; } + case WM_INPUTLANGCHANGEREQUEST: + ActivateKeyboardLayout( (HKL)lParam, 0 ); + break; + case WM_INPUTLANGCHANGE: { int count = 0; @@ -899,14 +903,6 @@ LRESULT WINAPI DefWindowProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam } break; - case WM_INPUTLANGCHANGEREQUEST: - /* notify about the switch only if it's really our current layout */ - if ((HKL)lParam == GetKeyboardLayout(0)) - result = SendMessageA( hwnd, WM_INPUTLANGCHANGE, wParam, lParam ); - else - result = 0; - break; - case WM_SYSCHAR: { CHAR ch = LOWORD(wParam); @@ -1051,14 +1047,6 @@ LRESULT WINAPI DefWindowProcW( } break; - case WM_INPUTLANGCHANGEREQUEST: - /* notify about the switch only if it's really our current layout */ - if ((HKL)lParam == GetKeyboardLayout(0)) - result = SendMessageW( hwnd, WM_INPUTLANGCHANGE, wParam, lParam ); - else - result = 0; - break; - default: result = DEFWND_DefWinProc( hwnd, msg, wParam, lParam ); break;