gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/character.cpp server/spr...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/character.cpp server/spr...
Date: Tue, 27 Nov 2007 11:05:28 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/11/27 11:05:28

Modified files:
        .              : ChangeLog 
        server         : character.cpp sprite_instance.cpp 
        testsuite/actionscript.all: MovieClip.as 

Log message:
        Don't abort if a character is unloaded twice (once as a consequence of 
unloading
        parent and one on itself). Test added to MovieClip.as which would abort 
previous
        gnash versions.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4979&r2=1.4980
http://cvs.savannah.gnu.org/viewcvs/gnash/server/character.cpp?cvsroot=gnash&r1=1.64&r2=1.65
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.397&r2=1.398
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/MovieClip.as?cvsroot=gnash&r1=1.102&r2=1.103

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4979
retrieving revision 1.4980
diff -u -b -r1.4979 -r1.4980
--- ChangeLog   27 Nov 2007 09:36:31 -0000      1.4979
+++ ChangeLog   27 Nov 2007 11:05:27 -0000      1.4980
@@ -1,5 +1,15 @@
 2007-11-27 Sandro Santilli <address@hidden>
 
+       * server/character.cpp (unload): don't abort if the character
+         is attempted to be unloaded twice.
+       * server/sprite_instance.cpp: don't abort if the character
+         is attempted to be unloaded twice.
+       * testsuite/actionscript.all/MovieClip.as: test double unload
+         of a character (once triggered by unload of parent and one
+         direct unload).
+
+2007-11-27 Sandro Santilli <address@hidden>
+
        * testsuite/actionscript.all/MovieClip.as: fix bogus check calls,
          reveiling a bunch of failures in gnash...
 

Index: server/character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/character.cpp,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -b -r1.64 -r1.65
--- server/character.cpp        20 Nov 2007 00:44:03 -0000      1.64
+++ server/character.cpp        27 Nov 2007 11:05:28 -0000      1.65
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 // 
 
-/* $Id: character.cpp,v 1.64 2007/11/20 00:44:03 cmusick Exp $ */
+/* $Id: character.cpp,v 1.65 2007/11/27 11:05:28 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -640,12 +640,11 @@
 bool
 character::unload()
 {
-       assert(!_unloaded); // don't unload characters twice !
-
-       //log_msg(_("Queuing unload event for character %p"), this);
-       //on_event(event_id::UNLOAD);
-       //bool hasEvent = queueEventHandler(event_id::UNLOAD);
+       if ( ! _unloaded )
+       {
        queueEvent(event_id::UNLOAD, movie_root::apDOACTION);
+       }
+
        bool hasEvent = hasEventHandler(event_id::UNLOAD);
 
        _unloaded = true;

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.397
retrieving revision 1.398
diff -u -b -r1.397 -r1.398
--- server/sprite_instance.cpp  26 Nov 2007 20:43:47 -0000      1.397
+++ server/sprite_instance.cpp  27 Nov 2007 11:05:28 -0000      1.398
@@ -3600,7 +3600,6 @@
 bool
 sprite_instance::unload()
 {
-       assert(!isUnloaded());
 #ifdef GNASH_DEBUG
        log_debug(_("Unloading sprite '%s'"), getTargetPath().c_str());
 #endif

Index: testsuite/actionscript.all/MovieClip.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/MovieClip.as,v
retrieving revision 1.102
retrieving revision 1.103
diff -u -b -r1.102 -r1.103
--- testsuite/actionscript.all/MovieClip.as     27 Nov 2007 09:29:00 -0000      
1.102
+++ testsuite/actionscript.all/MovieClip.as     27 Nov 2007 11:05:28 -0000      
1.103
@@ -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.102 2007/11/27 09:29:00 strk Exp $";
+rcsid="$Id: MovieClip.as,v 1.103 2007/11/27 11:05:28 strk Exp $";
 
 #include "check.as"
 
@@ -452,7 +452,7 @@
 softref3 = _root.createEmptyMovieClip("hardref3", 80);
 softref3child = softref3.createEmptyMovieClip("hardref3child", 1);
 softref3child2 = softref3.createEmptyMovieClip("hardref3child2", 2);
-softref3child.onUnload = function() { /* note(this+".onUnload called");*/ };
+softref3child.onUnload = function() { check_equals(this._target, 
'/hardref3/hardref3child'); note(this+".onUnload called"); };
 hardref2.onUnload = function() { /*note(this+".onUnload called");*/ };
 check_equals(typeof(hardref), 'movieclip');
 check_equals(typeof(softref), 'movieclip');
@@ -522,6 +522,7 @@
 check_equals(softref3child.member, '3child');
 check_equals(softref3child._target, '/hardref3/hardref3child');
 check_equals(softref3child.getDepth(), 1);
+removeMovieClip(softref3child); // using ActionRemoveClip (0x25)
 xcheck_equals(softref3child2.member, '3child2');
 xcheck_equals(softref3child2._target, '/hardref3/hardref3child2');
 xcheck_equals(softref3child2.getDepth(), 2);




reply via email to

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