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=00000000 lp=00000000 trace:message:SPY_EnterMessage (0x10041) L"{ATL:5303EA68}" message [0085] WM_NCPAINT sent from self wp=00000001 lp=00000000 trace:message:SPY_EnterMessage (0x10041) DefWindowProc32: WM_NCPAINT [0085] wp=00000001 lp=00000000 trace:message:SPY_ExitMessage (0x10041) DefWindowProc32: WM_NCPAINT [0085] returned 00000000 trace:message:SPY_ExitMessage (0x10041) L"{ATL:5303EA68}" message [0085] WM_NCPAINT returned 00000000 trace:message:SPY_EnterMessage (0x10041) L"{ATL:5303EA68}" message [0014] WM_ERASEBKGND sent from self wp=000008a8 lp=00000000 trace:message:SPY_ExitMessage (0x10041) L"{ATL:5303EA68}" message [0014] WM_ERASEBKGND returned 00000001 trace:message:SPY_ExitMessage (0x10041) L"{ATL:5303EA68}" message [000f] WM_PAINT returned 00000000
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
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
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
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.