user32: Proper handling of WM_INPUTLANGCHANGEREQUEST.

This commit is contained in:
Aric Stewart 2008-12-11 11:30:20 -06:00 committed by Alexandre Julliard
parent 7443e7ded7
commit bd25af9dba

View File

@ -759,6 +759,10 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
break; break;
} }
case WM_INPUTLANGCHANGEREQUEST:
ActivateKeyboardLayout( (HKL)lParam, 0 );
break;
case WM_INPUTLANGCHANGE: case WM_INPUTLANGCHANGE:
{ {
int count = 0; int count = 0;
@ -899,14 +903,6 @@ LRESULT WINAPI DefWindowProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
} }
break; 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: case WM_SYSCHAR:
{ {
CHAR ch = LOWORD(wParam); CHAR ch = LOWORD(wParam);
@ -1051,14 +1047,6 @@ LRESULT WINAPI DefWindowProcW(
} }
break; 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: default:
result = DEFWND_DefWinProc( hwnd, msg, wParam, lParam ); result = DEFWND_DefWinProc( hwnd, msg, wParam, lParam );
break; break;