From: Matteo Bruni <mbruni@codeweavers.com> Otherwise upon receiving them it will pass them along to its children, again. --- dlls/win32u/input.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c index 896b0d42753..a626dfcdd13 100644 --- a/dlls/win32u/input.c +++ b/dlls/win32u/input.c @@ -1462,8 +1462,9 @@ HKL WINAPI NtUserActivateKeyboardLayout( HKL layout, UINT flags ) if (ime_hwnd) send_message( ime_hwnd, WM_IME_INTERNAL, IME_INTERNAL_HKL_ACTIVATE, HandleToUlong(layout) ); - if ((focus = get_focus()) && get_window_thread( focus, NULL ) == GetCurrentThreadId()) - send_message( focus, WM_INPUTLANGCHANGE, cs.ciCharset, (LPARAM)layout ); + if ((focus = get_focus()) && NtUserGetAncestor( focus, GA_ROOT ) != NtUserGetDesktopWindow() + && get_window_thread( focus, NULL ) == GetCurrentThreadId()) + send_message( focus, WM_INPUTLANGCHANGE, cs.ciCharset, (LPARAM)layout ); } if (!old_layout) return get_locale_kbd_layout(); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/11367