From: Rémi Bernon rbernon@codeweavers.com
--- dlls/win32u/input.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 8f71f93e0fe..11bb129134c 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -1193,6 +1193,7 @@ HKL WINAPI NtUserActivateKeyboardLayout( HKL layout, UINT flags ) { struct user_thread_info *info = get_user_thread_info(); HKL old_layout; + LCID locale; HWND focus;
TRACE_(keyboard)( "layout %p, flags %x\n", layout, flags ); @@ -1206,6 +1207,13 @@ HKL WINAPI NtUserActivateKeyboardLayout( HKL layout, UINT flags ) return 0; }
+ if (NtQueryDefaultLocale( TRUE, &locale ) || LOWORD(layout) != locale) + { + RtlSetLastWin32Error( ERROR_CALL_NOT_IMPLEMENTED ); + FIXME_(keyboard)( "Changing user locale is not supported\n" ); + return 0; + } + if (!user_driver->pActivateKeyboardLayout( layout, flags )) return 0;