wineserver: fix get_update_region for desktop window

Michael Jung mjung at
Tue Jan 4 17:36:48 CST 2005

Calling SetSysColor in the current cvs version of wine causes an infinite loop 
in update_now in dlls/user/painting.c. As I understand it, the problem is the 
following: get_update_flags will promote it's child window argument to the 
next child window (via a wineserver call to get_update_region), if the 
current child doesn't need any repaint. Calling get_update_flags on the 
desktop window will always return a repaint flag, so it never gets ahead. The 
attached patch automatically promotes the child window argument to the first 
child, if called on the desktop window. I don't know if this really is the 
desired behaviour. Another fix would be to not return any repaint flags for 
the desktop window.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: server.diff
Type: text/x-diff
Size: 584 bytes
Desc: not available
Url :

More information about the wine-devel mailing list