When unparenting an actor, remove queued redraws for all descendants
authorRobert Bragg <robert@linux.intel.com>
Thu, 14 Oct 2010 15:19:55 +0000 (16:19 +0100)
committerRobert Bragg <robert@linux.intel.com>
Thu, 14 Oct 2010 15:19:55 +0000 (16:19 +0100)
commitf456116c18dac24454f9c46b02677a51f79e4052
tree887674ef66eee1d9027f710b5f60536737f4dd06
parent07f2dba7e24abd7b25327cf6b6b3f60dc17091d2
When unparenting an actor, remove queued redraws for all descendants

We need to make sure that redraws queued for actors on a stage are for
actors actually in the stage. So in clutter_actor_unparent() descend
through the children and remove redraws. Just removing the actor itself
isn't good enough since an entire hierarchy can be removed from the
stage without breaking it up into individual actors.

http://bugzilla.clutter-project.org/show_bug.cgi?id=2359

This is based on an original patch from Owen Taylor who debugged the
root cause of this bug; thanks.
clutter/clutter-actor.c