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 18:48:45 +0800

> +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]?

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)?


--zou



On 10/4/07, Sandro Santilli <address@hidden> wrote:
> CVSROOT:        /sources/gnash
> Module name:    gnash
> Changes by:     Sandro Santilli <strk>  07/10/04 08:18:13
>
> Modified files:
>        .              : ChangeLog
>        testsuite/actionscript.all: MovieClip.as
>
> Log message:
>                * testsuite/actionscript.all/MovieClip.as: add test showing
>                  that it's NOT *unload* of sprite triggering soft-references
>                  rebinding but rather *destroy* of them !
>
> CVSWeb URLs:
> http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4517&r2=1.4518
> http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/MovieClip.as?cvsroot=gnash&r1=1.94&r2=1.95
>
> Patches:
> Index: ChangeLog
> ===================================================================
> RCS file: /sources/gnash/gnash/ChangeLog,v
> retrieving revision 1.4517
> retrieving revision 1.4518
> diff -u -b -r1.4517 -r1.4518
> --- ChangeLog   3 Oct 2007 21:43:04 -0000       1.4517
> +++ ChangeLog   4 Oct 2007 08:18:11 -0000       1.4518
> @@ -1,3 +1,9 @@
> +2007-10-04 Sandro Santilli <address@hidden>
> +
> +       * testsuite/actionscript.all/MovieClip.as: add test showing
> +         that it's NOT *unload* of sprite triggering soft-references
> +         rebinding but rather *destroy* of them !
> +
>  2007-10-03 Tomas Groth Christensen <address@hidden>
>
>        * libbase/Makefile.am: Added BitsReader.{h,cpp}
>
> Index: testsuite/actionscript.all/MovieClip.as
> ===================================================================
> RCS file: /sources/gnash/gnash/testsuite/actionscript.all/MovieClip.as,v
> retrieving revision 1.94
> retrieving revision 1.95
> diff -u -b -r1.94 -r1.95
> --- testsuite/actionscript.all/MovieClip.as     3 Oct 2007 13:01:22 -0000     
>   1.94
> +++ testsuite/actionscript.all/MovieClip.as     4 Oct 2007 08:18:12 -0000     
>   1.95
> @@ -20,7 +20,7 @@
>  // compile this test case with Ming makeswf, and then
>  // execute it like this gnash -1 -r 0 -v out.swf
>
> -rcsid="$Id: MovieClip.as,v 1.94 2007/10/03 13:01:22 strk Exp $";
> +rcsid="$Id: MovieClip.as,v 1.95 2007/10/04 08:18:12 strk Exp $";
>
>  #include "check.as"
>
> @@ -542,7 +542,7 @@
>  //
>  //  1. Original target of a re-bound target isn't used for further
>  //     rebounding.
> -//  2. No rebind is attempted till the original sprite is unloaded.
> +//  2. No rebind is attempted till the original sprite is destroyed (not 
> simply unloaded!)
>  //  3. After original bounded sprite is unloaded, rebinding is *always*
>  //     attempted.
>  //
> @@ -635,6 +635,40 @@
>  check_equals(sr63_bis.member, 'hardref4_64');
>  check_equals(sr64.member, 'hardref4_64');
>
> +// Now check that unloaded-but-not-destroyed sprite
> +// do NOT trigger rebinding
> +sr59 = createEmptyMovieClip("hardref5", 59);
> +sr59.member = "address@hidden";
> +sr59.onUnload = function() {};
> +sr60 = createEmptyMovieClip("hardref5", 60);
> +sr60.member = "address@hidden";
> +sr60.onUnload = function() {};
> +check_equals(sr59.getDepth(), 59);
> +check_equals(sr60.getDepth(), 60);
> +check_equals(sr59._target, "/hardref5");
> +check_equals(sr60._target, "/hardref5");
> +sr60.removeMovieClip();
> +check_equals(sr59.getDepth(), 59);
> +check_equals(sr60.getDepth(), -32829);
> +check_equals(sr59._target, "/hardref5");
> +check_equals(sr60._target, "/hardref5");
> +sr59.removeMovieClip();
> +// sr59, despite the fact address@hidden was unloaded, still
> +// points to the original sprite. This means no rebind is
> +// attempted, otherwise address@hidden will be found first
> +// being at a lower depth
> +check_equals(hardref5.getDepth(), -32829);
> +check_equals(hardref5._target, "/hardref5");
> +check_equals(hardref5.member, "address@hidden");
> +// Gnash fails because it's "unload" event triggering rebinding
> +// rather then "destroy" event (unsupported in Gnash).
> +xcheck_equals(sr59.getDepth(), -32828);
> +xcheck_equals(sr59.member, "address@hidden");
> +check_equals(sr59._target, "/hardref5");
> +check_equals(sr60.getDepth(), -32829);
> +check_equals(sr60._target, "/hardref5");
> +check_equals(sr60.member, "address@hidden");
> +
>  #endif // OUTPUT_VERSION >= 6
>
>  //----------------------------------------------
>
>
> _______________________________________________
> Gnash-commit mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnash-commit
>




reply via email to

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