http://bugs.winehq.org/show_bug.cgi?id=5162
--- Comment #19 from Austin Lund austin.lund@gmail.com 2008-10-23 17:35:08 --- My thoughts on how to do it were more of a hack than a proper implementation. I would not recommend it as a sustainable solution.
The proper way to do it I think is as outlined. However, this is not very low hanging fruit and will require a lot of work. There are a lot of interdependencies and I thought an incremental approach would not work, but I'm happy if I'm wrong.
Note that I tried to get tests included. The biggest issue here is not the tests, it is that the ITextServices and ITextHost assume the use of the thiscall calling convention, even in C (!!). Check the patches sent by me to wine-patches earlier this year on how I thought it might be done. However, the goalposts kept moving on me and then I ran out of holiday time :(.
I was able to make a trivial ITextHost implementation. Again, written with hack like purposes in mind.
If someone could get unittests in (even if it only contains a test of one call) that cover the thiscall stuff then this would be good and a full test suite could be written and things can move forward fairly rapidly. This first step probably requires quite a bit of thinking but not much code.