[Top][All Lists]
[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
>
[Gnash-commit] gnash ChangeLog testsuite/actionscript.all/Movi..., Sandro Santilli, 2007/10/25