On Fri, Aug 31, 2007 at 09:18:53AM +0800, zou lunkai wrote: > > +// Here we create 3 clips > > +// - hardref has no onUnload > > +// - hardref2 has an onUnload > > +// - hardref3 has no onUnload but a child with onUnload > > +// We'll see that when the three clips are removed from the stage > > +// those with any onUnload handler (either theirs or in their childrens) > > +// will still be on the stage, only with their depth shifted at > > -32769-depth > > +// (see character::removedRepthOffset) > > + > Characters with no onUnload won't be pushed to the global list at the > frame being removed, thus get destroyed before GC works. Characters > with onUnload are pushed to the global list, thus need to be removed > at the end of the frame by GC. Just some deduction:) I'll do more > tests today.
I'm working on a patch that passes all the new tests. Still not using a global list though, just the existing DisplayList. Not committed as it triggers few more failures I'm inspecting. BTW, important to tet what happens whtn the target depth (-32769-depth) is already occupied and when the just-moved character gets back by effect of swapDepth. --strk; _______________________________________________ Gnash-commit mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnash-commit
