gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gnash-commit] gnash ChangeLog testsuite/actionscript.all/Movi...


From: zou lunkai
Subject: Re: [Gnash-commit] gnash ChangeLog testsuite/actionscript.all/Movi...
Date: Thu, 4 Oct 2007 19:23:56 +0800

> IMPORTANT NOTE:
> We need a test for opcode guarding to check if Unloaded and Removed
> makes a difference there. If the removed character has an onUnload event
> handler, is the remaining of actions after it's removal from stage still
> discarded ?
>
I think the answer is yes.  It was tested in
"testsuite/misc-swfc.all/movieclip_destruction_test1.sc"

There are related comments and code block(in movieclip_destruction_test1.sc):

// No matter onUnload defined or not, the above actions still got skipped.
//#define DEFINE_ONUNLOAD
#ifdef DEFINE_ONUNLOAD
  .action:
    // Define onUnload(for deduction)
     mc1.onUnload = function () {};
  .end
#endif

It was a quick test but disabled for some reason(maybe for testing
some other cases).   I can add some focused tests when I am back.

--zou





On 10/4/07, Sandro Santilli <address@hidden> wrote:
> On Thu, Oct 04, 2007 at 06:48:45PM +0800, zou lunkai wrote:
> > > +sr60.removeMovieClip();
> >
> > > +check_equals(sr60.getDepth(), -32829);    ---->[1]
> >
> > > +sr59.removeMovieClip();
> >
> > > +xcheck_equals(sr59.getDepth(), -32828);  ---->[2]
> >
> > If Gnash passes on [1], why should it fail on [2]?
>
> Because for gnash sr60 and sr59 both point to the same instance.
> They both have the same target, the one at lower depth is found
> first.
>
> > we are still using pointers for soft references, right?  what's the
> > result of sr59.getDepth() with Gnash(just interested, I cann't verify
> > it myself at the moment)?
>
> It's -32829.. same as sr60.
> Gnash goes looking for a rebind when the sprite isUnloaded().
> Now changing it to check for isDestroyed() instead, which should
> fix this.
>
> IMPORTANT NOTE:
> We need a test for opcode guarding to check if Unloaded and Removed
> makes a difference there. If the removed character has an onUnload event
> handler, is the remaining of actions after it's removal from stage still
> discarded ?
>
> --strk;
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]