"Eric Frias" efrias@syncad.com writes:
I'm curious how much work would be involved in fixing this correctly. I've never looked at the wineserver code, so I don't know if this would just be a matter of adding another variable to a data structure that gets passed around to all of the windowing code, or if this would require major changes to the way wineserver works. If it's reasonably easy, I might be able to make the fix or lend some assistance; if it is a large amount of work, we'll probably be happy with the workaround we have.
Basically you need to change the window management code in the server to support multiple window hierarchies, and create one hierarchy per display; then you need to associate related things like clipboard or window classes to the proper hierarchy. It basically boils down to implementing the Windows concept of desktops and window stations. It's not very hard, but it's still a bit of work.