Hello all,
Here comes V2. Learning from my previous mistakes, I now took extra care with my coding style, and made sure no unused code was left in any of the patches.
This patchset improves Wine both by increasing convenience and preventing bugs from happening. Windows doesn't allow GeoIDs to _not_ be set, and at least one app is crashing because of this; this bug cannot be reproduced on Windows. (Win10 tries really hard to make sure a GeoID is always set!)
But before we can do that, we must bring the relevant infrastructure up to spec. (It's currently rather subpar...)
Patches 1 through 5 bring important functions up to spec; Patch 6 implements the autoconfigure; Patch 7 are the conformance tests.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46196 Signed-off-by: João Diogo Craveiro Ferreira devilj@outlook.pt --- Supersedes: 171821
João Diogo Craveiro Ferreira (7): kernel32: Move Get/SetUserGeoID() to after the geoinfo struct. kernel32: Handle GEOCLASS_REGION in Get/SetUserGeoID. kernel32: Implement SetUserGeoName() and clean-up locale.c. kernel32: Implement GetUserDefaultGeoName(). kernel32: Make GetUserGeoID() pretend we set a GeoID even if we didn't. kernel32: Autoinitialize geographic values when launching any program. kernel32/tests: Test GetUserGeoID(), GetUserDefaultGeoName().
dlls/kernel32/kernel32.spec | 2 + dlls/kernel32/kernel_main.c | 3 + dlls/kernel32/kernel_private.h | 1 + dlls/kernel32/locale.c | 621 ++++++++++++++++++++++++++------- dlls/kernel32/tests/locale.c | 110 ++++++ include/winnls.h | 2 + 6 files changed, 612 insertions(+), 127 deletions(-)