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>

Attachment: 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

Reply via email to