Re: Re[9]: Wine 20050310 redraw problems (specifically with Paint Shop Pro 7)

2005-05-13 Thread Jules Richardson
On Wed, 2005-05-11 at 14:38 -0600, Vitaliy Margolen wrote:
> > Is there a way of trapping and spitting to stdout all the window-related
> > event messages that are being sent to an app? Or do they not happen in
> > any kind of central enough place to do that? (I suppose it'd also be
> > useful to be able to dump all window flags at the same time)
> Yes. do WINEDEBUG=+message wine app.exe &> /tmp/log

Right, message logs of 20041201 (which worked ok) and 20050111 (which
doesn't work) are at:

http://www.patooie.com/temp/w20041201.w.bx
http://www.patooie.com/temp/w20050111.w.bx

Load into your favourite visual diff tool and compare :-)

These are logs just from the point where I hit the OK button in each
build in order for PSP to create a drawing canvas; as soon as the canvas
window was visible I hit ctrl-C from the controlling terminal (to avoid
lots of shutdown message trace in the logs). So in theory, it's just the
relevant bit...

... I've also filtered out WM_MDIGETACTIVE, WM_GETDLGCODE and
WM_IDLEUPDATECMDUI as they ate up a lot of log space and didn't seem to
related to this redraw problem.

All versions after and including wine 20050111 have the redraw bug, but
I just picked the next version after the working 20041201 as diff
results are more likely to show up what the problem is.

Oh, I filtered out all WM_* events and compared them too; there's no
"missing" WM_* events from the later code, although my simple checks
there wouldn't detect if the order in which things happened changed.

Note that the diff output is very similar, apart from a few places
where the order of things seems to get swapped around a little (next
challenge for me is to figure out which of these messages are relevant
and what they mean!). 

snapshot of the working new image window in 20041201, cleared as it
should be with the checkered background:

http://www.patooie.com/temp/wine20041201.jpg

... and a snapshot of the broken window as happens in 20050111 and later
(not cleared, and with the remains of the 'new image' dialog box still
visible):

http://www.patooie.com/temp/wine20050111.jpg

cheers

Jules




Re[9]: Wine 20050310 redraw problems (specifically with Paint Shop Pro 7)

2005-05-11 Thread Vitaliy Margolen
Wednesday, May 11, 2005, 1:26:13 PM, you wrote:

> On Wed, 2005-05-11 at 10:22 -0600, Vitaliy Margolen wrote:
>> That's try this patch:
>> http://www.winehq.com/hypermail/wine-patches/2005/05/0207.html

> No luck I'm afraid, same behaviour :(
That's too bad. I was hopping it would fix you bug. I guess it's somewhere else.

>> > 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.
>> This is up to any app to do. All messages are sent to app in a first place. 
>> Then
>> app decides if it will handle the massage or pass it default handler.

> Is there a way of trapping and spitting to stdout all the window-related
> event messages that are being sent to an app? Or do they not happen in
> any kind of central enough place to do that? (I suppose it'd also be
> useful to be able to dump all window flags at the same time)
Yes. do WINEDEBUG=+message wine app.exe &> /tmp/log

> At least that way I could see exactly what events the app was getting in
> 20040914 (where things worked) that suddenly went missing in 20050111...
> (assuming it is an event handling / window flag bug at all rather than a
> window stack problem that crept in or something)
That's hope this is the case. Chasing heap bugs are so much fun ;-)

> Not only am I not familiar with the wine source code yet, I've got no
> clue how the Windows event model even works... :)
Good luck on this one.

Vitaliy