https://bugs.winehq.org/show_bug.cgi?id=52904
Bug ID: 52904 Summary: kernel32:locale breaks oleaut32:varformat on Wine in the French locale Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: kernel32 Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
kernel32:locale breaks oleaut32:varformat on Wine in the French locale:
varformat.c:642: Test failed: Unexpected hr 0x80020005 for L"0,000 EUR" varformat.c:649: Test failed: Unexpected hr 0x80020005 for L"0,000 EUR"
https://test.winehq.org/data/patterns.html#oleaut32:varformat
When starting from a clean wineprefix one would normally get "0,000 €" for this test. But if one runs kernel32:locale before the Euro symbol is replaced with "EUR" which is then not recognized as a currency symbol.
A bisect shows that the failures started with this commit:
commit 78a33f968461fa3a01d3eec837b4c24f353bc00b Author: Alexandre Julliard julliard@winehq.org AuthorDate: Tue Mar 29 22:12:25 2022 +0200
kernelbase: Reimplement SetLocaleInfoW().
Signed-off-by: Alexandre Julliard julliard@winehq.org
The commit modifies both kernel32 and kernel32:locale, and both parts of the patch are needed to reproduce the failure.