Alexandre,
could you please give a short comment on this one?
Thanks, Michael
---------- Forwarded Message ----------
Subject: wineserver: fix get_update_region for desktop window Date: Wednesday 05 January 2005 00:36 From: Michael Jung mjung@iss.tu-darmstadt.de To: wine-devel@winehq.org Cc: wine-patches@winehq.org
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.
Ciao, Michael
-------------------------------------------------------
Michael Jung mjung@iss.tu-darmstadt.de writes:
Alexandre,
could you please give a short comment on this one?
The desktop window needs to be handled a bit specially for repaints; your patch is wrong since it will never repaint it at all, but I don't know yet what the proper fix is, I need to look into it some more.