[ros-dev] Problem drawing the desktop in the updated color

Timo Kreuzer timo.kreuzer at web.de
Thu Aug 10 01:40:24 CEST 2006


Martin Fuchs schrieb:
> Just fixed the problem in Explorer - the shell background will now be
> refreshed at system color changes.
>
>   
That's great. Thanks. I couldn't test it yet, becaue explorer won't 
start in current trunk. (I think userinit does not complete, because 
with my code syscolors are no longer loaded from the registry)
But I guess it will at least let the new color be applied instantly.

Q: I added SendSysColorChangeMessage() to win32k wich sends 
WM_SYSCOLORCHANGE to *all* windows after setting new syscolors. Is that 
the way it should be? Or should the message be passed to child windows 
by the windows itself (in DefWindowProc)?

But it will probably not help to use the correct SysColorBrush on 
startup, wich was the thing I stumbled upon.
It seems that NtUserPaintDesktop is called several times (15+, but not 
really sure about that) before userinit (Does that cause the heavy 
redraw of the text in the hardware detection window on startup?). And on 
userinit SysColors[COLOR_BACKGROUND] is loaded correctly from registry 
(before explorer.exe is loaded), but NtUserPaintDesktop won't use the 
correct SysColorBrush, although CreateSysColorObjects() is called at the 
beginning.

I think CreateSysColorObjects might not work correctly.But I can't 
figure out why.If noone has a tip for me, I'll go on trying to find out, 
hopefully DBG=1 boots now and explorer will start again soon.

Greetings,
Timo

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-dev/attachments/20060810/0d646156/attachment.html 


More information about the Ros-dev mailing list