PARTIALLY FIXES BUG #46196: Prevents the game from crashing, but the country flag is still wrong without manual configuration by the user. https://bugs.winehq.org/show_bug.cgi?id=46196
This behaviour is 100% identical to Windows 10 v1903 (probably since v1709 but I didn't check that far).
39070 is the neutral "World" GeoID.
Signed-off-by: João Diogo Craveiro Ferreira devilj@outlook.pt --- dlls/kernel32/locale.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/locale.c b/dlls/kernel32/locale.c index c690aa8d5e..ce13db3369 100644 --- a/dlls/kernel32/locale.c +++ b/dlls/kernel32/locale.c @@ -3648,7 +3648,7 @@ BOOL WINAPI InvalidateNLSCache(void) */ GEOID WINAPI GetUserGeoID( GEOCLASS GeoClass ) { - GEOID ret = GEOID_NOT_AVAILABLE; + GEOID ret = 39070; static const WCHAR geoW[] = {'G','e','o',0}; static const WCHAR nationW[] = {'N','a','t','i','o','n',0}; WCHAR bufferW[40], *end; @@ -3671,8 +3671,11 @@ GEOID WINAPI GetUserGeoID( GEOCLASS GeoClass ) } break; case GEOCLASS_REGION: - FIXME("GEOCLASS_REGION not handled yet\n"); + FIXME("GEOCLASS_REGION not handled yet, returning default: 39070\n"); break; + default: + WARN("Unrecognized geoclass %d\n", GeoClass); + ret = GEOID_NOT_AVAILABLE; }
NtClose(hkey);