First, sorry for the blank mail I accidentally sent earlier... my bad.
Ok, so I have been assigned bug 50 [1] here at my job, and I'm trying to apply the patch [2] Keith Dunwoody proposed in June 2005, which fixed the issue but was rejected for technical reasons.
Right now I can't think of another way around that bug except a patch that big, but I think we could break it into two smaller ones: the first one would change what must be changed for the second one ¯ the actual correction ¯ to work. Well, that first one involves changing the signatures of the ExtTextOut functions in
winex11.drv, in a similar fashion to what Keith had proposed; but, instead of adding 'INT *breakTotalExtra, INT *breakCount' to their argument lists, I suggest that we pass them the whole DC instead of just its physDev ¯ that way we'd have access to the relevant attributes while still being able to get its physDev (assigning it to a variable right at the beginning of the functions, in order to keep their current functionality in this first step). I'm only afraid that may bring a little overhead, so I'd really like to see some opinions, or some better ideas...
[1] http://bugs.winehq.org/show_bug.cgi?id=50
[2] http://bugs.winehq.org/attachment.cgi?id=912&action=view
I'll be testing that here, anyway.
Cheers,
Pedro.
--
"People think computers will keep them from making mistakes. They're wrong. With computers you make mistakes faster."
(Adam Osborne)