On Fri, 2005-05-06 at 09:50 -0600, Vitaliy Margolen wrote:
You know, it could be one more place then. Native does RedrawWindow when focus changes. But not always. As soon as I figure out when we need to redraw and when we don't, I'll send you a patch to try.
The more I think about this, the more it makes sense that the X11 side of things is functioning correctly.
I can't find any wine docs (yet) that describe message flow for the windowing system, but I suspect the following (someone shout if I'm definitely right or wrong on this!):
Paint Shop Pro will be one of those classes of apps that looks after its own drawing windows, and expects the system to pass *all* window related messages for its drawing window(s) to the app itself, rather than wine trapping and handling some of them.
I suspect this is what got screwed up as of the 20050111 release - wine is probably either handling *some* types of window event when it shouldn't, or at the very least isn't passing them on to the application so that the app can respond as it sees fit.
That could explain why psp's drawing window isn't cleared when it's created, redrawn when it's moved etc., but that using psp's own drawing tools on the window *does* work...
Am I right in thinking that everything in dlls/x11drv/* handles events between wine and the rest of the Unix desktop, whilst everything in windows/* handles the event structure and clipping between wine windows?
cheers
Jules