May 11, 2026
10:15 a.m.
Rémi Bernon (@rbernon) commented about dlls/win32u/input.c:
if (query_reg_ascii_value( subkey, "Layout Id", value, sizeof(buffer) ) && value->Type == REG_SZ) id = 0xf000 | (wcstoul( (const WCHAR *)value->Data, NULL, 16 ) & 0xfff); - else - id = wcstoul( klid, NULL, 16 ); NtClose( subkey );
if (HIWORD( layout ) == id)
This will leave id to the previously set value when "Layout Id" value is missing for some reason, I don't think it is right. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10779#note_139403