Re: Painting message order?

2002-12-04 Thread Robert North
Paul Millar paulm-at-astro.gla.ac.uk |Wine Mailing Lists| wrote:


On 3 Dec 2002, Mike Hearn wrote:
 

It sends WM_PAINT, the does the NCPAINT thing which seems to be do do
with window borders, and then some ERASEBKGND messages come from
somewhere. I have a sneaking suspicion that the background gets erased
after it's painted and not before, but that's a total shot in the dark
and the absence of flicker kind of makes my theory look not so strong.
   


Well, speaking in ignorance (I freely admit to it ;) it *could* have
something to do with problem 2 of:

  http://www.winehq.com/hypermail/wine-devel/2002/11/0803.html

corruption when dialogue boxes are moved around.  I tried it again today
(with cvs a few days old) and the problem still exists.


Paul Millar


Don't know if it helps, but I see similar corruption to Word on Painter 5.
I don't know if it would help either of you guys, but I could get some 
traces/debug
output, if someone gives me hints at to what to trace/break on.

-Rob.

 






Re: Painting message order?

2002-12-04 Thread Mike Hearn
Hmmm, dunno. I don't think it is, because otherwise when I forced a
refresh (by covering up and uncovering it, or switching desktops) it
would render correctly. This isn't the case here - it simply does not
render until something inside the plugin causes a refresh: an animation
for instance, or toggling the antialiasing.

I really need a Windows painting guru to explain to me exactly what
WM_ERASEBKGND does, MSDN didn't clear things up for me at all

thanks -mike

On Tue, 2002-12-03 at 16:25, Paul Millar wrote:
> On 3 Dec 2002, Mike Hearn wrote:
> > It sends WM_PAINT, the does the NCPAINT thing which seems to be do do
> > with window borders, and then some ERASEBKGND messages come from
> > somewhere. I have a sneaking suspicion that the background gets erased
> > after it's painted and not before, but that's a total shot in the dark
> > and the absence of flicker kind of makes my theory look not so strong.
> 
> Well, speaking in ignorance (I freely admit to it ;) it *could* have
> something to do with problem 2 of:
> 
>http://www.winehq.com/hypermail/wine-devel/2002/11/0803.html
> 
> corruption when dialogue boxes are moved around.  I tried it again today
> (with cvs a few days old) and the problem still exists.
> 
> 
> Paul Millar
> 
-- 
Mike Hearn <[EMAIL PROTECTED]>
QinetiQ - Malvern Technology Center





Re: Painting message order?

2002-12-03 Thread Paul Millar
On 3 Dec 2002, Mike Hearn wrote:
> It sends WM_PAINT, the does the NCPAINT thing which seems to be do do
> with window borders, and then some ERASEBKGND messages come from
> somewhere. I have a sneaking suspicion that the background gets erased
> after it's painted and not before, but that's a total shot in the dark
> and the absence of flicker kind of makes my theory look not so strong.

Well, speaking in ignorance (I freely admit to it ;) it *could* have
something to do with problem 2 of:

   http://www.winehq.com/hypermail/wine-devel/2002/11/0803.html

corruption when dialogue boxes are moved around.  I tried it again today
(with cvs a few days old) and the problem still exists.


Paul Millar





Painting message order?

2002-12-03 Thread Mike Hearn
Hi all,

My beloved SVG plugin broke again :( For some reason it's not repainting
properly, in fact, the only way I can force it to repaint when running
in wine desktop, internet explorer kiosk mode (ie it fills a window) is
by toggling high quality/low quality which controls antialiasing.


trace:message:SPY_EnterMessage (0x10041) L"{ATL:5303EA68}" message
[000f] WM_PAINT dispatched  wp= lp=
trace:message:SPY_EnterMessage (0x10041) L"{ATL:5303EA68}" message
[0085] WM_NCPAINT sent from self wp=0001 lp=
trace:message:SPY_EnterMessage (0x10041)  DefWindowProc32:
WM_NCPAINT [0085]  wp=0001 lp=
trace:message:SPY_ExitMessage  (0x10041)  DefWindowProc32:
WM_NCPAINT [0085] returned 
trace:message:SPY_ExitMessage  (0x10041) L"{ATL:5303EA68}" message
[0085] WM_NCPAINT returned 
trace:message:SPY_EnterMessage (0x10041) L"{ATL:5303EA68}" message
[0014] WM_ERASEBKGND sent from self wp=08a8 lp=
trace:message:SPY_ExitMessage  (0x10041) L"{ATL:5303EA68}" message
[0014] WM_ERASEBKGND returned 0001
trace:message:SPY_ExitMessage  (0x10041) L"{ATL:5303EA68}" message
[000f] WM_PAINT returned 

That's a message trace of the paint cycle (when I make it paint by
minimizing the wine window for instance.

It sends WM_PAINT, the does the NCPAINT thing which seems to be do do
with window borders, and then some ERASEBKGND messages come from
somewhere. I have a sneaking suspicion that the background gets erased
after it's painted and not before, but that's a total shot in the dark
and the absence of flicker kind of makes my theory look not so strong.

I did some traces with +gdi as well, but it wasn't very helpful. There
were lots of GetObjPtr and locking methods called, but I didn't see any
actual obviously drawing related calls. There was 1 warning: GetObjPtr
was called at one point with nil. What does this mean? I can't find any
documentation about GetObjPtr on google. I'll look at the sources later
to see if I can figure out what's wrong.

Anyway, my final question is : is there a way to alter the colour with
which the background is erased? Even if it screws up rendering elsewhere
just for debugging i'd like to see if I can make it display as anything
*except* offwhite. If so then it confirms my theory. Or are those
messages processed by the plugin itself?

thanks -mike

-- 
Mike Hearn <[EMAIL PROTECTED]>
QinetiQ - Malvern Technology Center