diff --git a/reactos/dll/win32/user32/include/window.h b/reactos/dll/win32/user32/include/window.h index cc069c4a305..0ac6e2a1e57 100644 --- a/reactos/dll/win32/user32/include/window.h +++ b/reactos/dll/win32/user32/include/window.h @@ -63,3 +63,5 @@ User32CreateWindowEx(DWORD dwExStyle, HINSTANCE hInstance, LPVOID lpParam, BOOL Unicode); + +HWND* WIN_ListChildren (HWND hWndparent); diff --git a/reactos/dll/win32/user32/windows/defwnd.c b/reactos/dll/win32/user32/windows/defwnd.c index 6621a487e8a..1ba74626e70 100644 --- a/reactos/dll/win32/user32/windows/defwnd.c +++ b/reactos/dll/win32/user32/windows/defwnd.c @@ -1574,8 +1574,15 @@ User32DefWindowProc(HWND hWnd, case WM_INPUTLANGCHANGE: { - //FIXME: What to do? - return TRUE; + int count = 0; + HWND *win_array = WIN_ListChildren( hWnd ); + + if (!win_array) + break; + while (win_array[count]) + SendMessageW( win_array[count++], WM_INPUTLANGCHANGE, wParam, lParam); + HeapFree(GetProcessHeap(),0,win_array); + break; } case WM_ENDSESSION: diff --git a/reactos/dll/win32/user32/windows/mdi.c b/reactos/dll/win32/user32/windows/mdi.c index 9c8deb53477..41f6ae9fc19 100644 --- a/reactos/dll/win32/user32/windows/mdi.c +++ b/reactos/dll/win32/user32/windows/mdi.c @@ -126,7 +126,6 @@ static HWND MDI_MoreWindowsDialog(HWND); static LRESULT WINAPI MDIClientWndProcA( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ); static LRESULT WINAPI MDIClientWndProcW( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ); -static HWND* WIN_ListChildren (HWND hWndparent) {