CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/10/04 12:16:50
Modified files: . : ChangeLog server : as_value.cpp testsuite/actionscript.all: MovieClip.as Log message: * server/as_value.cpp (to_sprite, to_debug_string): use isDestroyed() instead of isUnloaded() to trigger "dangliness" of a soft reference. * testsuite/actionscript.all/MovieClip.as: the two new tests about soft references succeed now. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4523&r2=1.4524 http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_value.cpp?cvsroot=gnash&r1=1.82&r2=1.83 http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/MovieClip.as?cvsroot=gnash&r1=1.95&r2=1.96 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4523 retrieving revision 1.4524 diff -u -b -r1.4523 -r1.4524 --- ChangeLog 4 Oct 2007 12:01:35 -0000 1.4523 +++ ChangeLog 4 Oct 2007 12:16:49 -0000 1.4524 @@ -1,5 +1,12 @@ 2007-10-04 Sandro Santilli <[EMAIL PROTECTED]> + * server/as_value.cpp (to_sprite, to_debug_string): use isDestroyed() + instead of isUnloaded() to trigger "dangliness" of a soft reference. + * testsuite/actionscript.all/MovieClip.as: the two new tests about + soft references succeed now. + +2007-10-04 Sandro Santilli <[EMAIL PROTECTED]> + * server/dlist.{cpp,h}: remove unused functions, call destroy() on characters whos unload() returned false. * server/sprite_instance.cpp (dtor): remove useless call to Index: server/as_value.cpp =================================================================== RCS file: /sources/gnash/gnash/server/as_value.cpp,v retrieving revision 1.82 retrieving revision 1.83 diff -u -b -r1.82 -r1.83 --- server/as_value.cpp 3 Oct 2007 21:20:06 -0000 1.82 +++ server/as_value.cpp 4 Oct 2007 12:16:49 -0000 1.83 @@ -507,7 +507,7 @@ sprite_instance* sp = getSprite(); if ( ! sp ) return NULL; // shoudl we assert(sp) instead ? - if ( sp->isUnloaded() ) + if ( sp->isDestroyed() ) // TODO: we should also check if the unload event handlers have been invoked or not, or references to 'this' in unload handlers will be bogus ! { log_debug(_("MovieClip value is a dangling reference: " @@ -919,7 +919,8 @@ { sprite_instance* sp = getSprite(); assert(sp); // will change in case we'll have better management :) - snprintf(buf, 511, "[%smovieclip(%s):%p]", sp->isUnloaded() ? "dangling " : "", sp->getOrigTarget().c_str(), (void *)sp); + //snprintf(buf, 511, "[%smovieclip(%s):%p]", sp->isUnloaded() ? "dangling " : "", sp->getOrigTarget().c_str(), (void *)sp); + snprintf(buf, 511, "[%smovieclip(%s):%p]", sp->isDestroyed() ? "dangling " : "", sp->getOrigTarget().c_str(), (void *)sp); buf[511] = '\0'; return buf; } Index: testsuite/actionscript.all/MovieClip.as =================================================================== RCS file: /sources/gnash/gnash/testsuite/actionscript.all/MovieClip.as,v retrieving revision 1.95 retrieving revision 1.96 diff -u -b -r1.95 -r1.96 --- testsuite/actionscript.all/MovieClip.as 4 Oct 2007 08:18:12 -0000 1.95 +++ testsuite/actionscript.all/MovieClip.as 4 Oct 2007 12:16:50 -0000 1.96 @@ -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.95 2007/10/04 08:18:12 strk Exp $"; +rcsid="$Id: MovieClip.as,v 1.96 2007/10/04 12:16:50 strk Exp $"; #include "check.as" @@ -662,8 +662,8 @@ check_equals(hardref5.member, "[EMAIL PROTECTED]"); // 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, "[EMAIL PROTECTED]"); +check_equals(sr59.getDepth(), -32828); +check_equals(sr59.member, "[EMAIL PROTECTED]"); check_equals(sr59._target, "/hardref5"); check_equals(sr60.getDepth(), -32829); check_equals(sr60._target, "/hardref5"); _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit