https://bugs.winehq.org/show_bug.cgi?id=43567
--- Comment #7 from Paul Gofman gofmanp@gmail.com --- (In reply to Jan Havran from comment #4)
What is probability of such a situation, when two people fix same issue same day after more than year after report?
I am sorry if I interfered into your work but I had no clue this could happen. I got here after looking into some recent activity on bug info list. I actually was curious about different issues but was hitting this bug in the demo and wanted to track what is up there and sort out somehow (even if only to workaround).
Regarding fixing it, in my understanding it is hardly a bug and both our patches are not a fix but rather application specific workaround.
BTW, you can make it work without any fixes by turning WINEDEBUG=+relay. Relay thunks which are added in this case save some registers (including ecx) and do it for every function in DLL. For this game it can probably be even made acceptable performance wise if disable most of +relay trace output like described here: https://wiki.winehq.org/Debug_Channels#Making_.2Brelay_less_verbose. In my understanding if there is a proper fix for such bugs it lies somewhere around tuning existing relay approach.