On Fri, Dec 31, 2010 at 04:49:34PM +0200, ville.syrj...@nokia.com wrote: > From: Ville Syrjälä <ville.syrj...@nokia.com> > > TraverseTree visits the parent before the children. When performing > the automatic redirection updates, the children must be visited before > the parent. > > If there are automatically redirected windows on multiple levels of the > tree, updating the parents before the children would cause the parent > updates to use stale data for areas covered by the children. Also > updating the damaged children would re-damage the parent, which would > cause additional walks over the tree. > > In the worst case with an unbroken chain of automatically redirected > subwindows, all of which are damaged, only the leaf window would be > properly updated on the first round. Then it's parent would be properly > updated on the second round, and so on. And on every round all of the > ancestor windows would be updated as well, but with stale data. > So with N damaged windows you would end up with (N^2+N)/2 updates, > instead of the expected N. > > This reverts commit 648c8871c92727d7b6b16859f27f12266a06a16e. > > Signed-off-by: Ville Syrjälä <ville.syrj...@nokia.com>
Reviewed-by: Daniel Stone <dan...@fooishbar.org>
signature.asc
Description: Digital signature
_______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel