https://bugs.winehq.org/show_bug.cgi?id=42010
--- Comment #6 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Dmitry Timoshkov from comment #5)
- the problem with radio buttons is caused by broken logic in dlls/user32/
button.c,BM_SETCHECK handler. In particular BUTTON_CheckAutoRadioButton() helper does weird things, simply disabling this call fixes the bug.
That happens because ros calc managed radio buttons state manually: and it happens that it first turns on some button with BM_SETCHECK/1, and later turns on another button in the same group with BM_SETCHECK/1, and the latter one causes the first button to be turned off.
In my (pretty limited) testing I could observe something that resembles what BUTTON_CheckAutoRadioButton() is doing only on user interaction, i.e. with keyboard and mouse clicks. Perhaps managing button state programmatically with BM_SETCHECK shouldn't lead to automatic button state handling in user32.
All of this needs quite a bit of test cases.