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
--
Mike Hearn <m.hearn(a)signal.qinetiq.com>
QinetiQ - Malvern Technology Center