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