[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/character.cpp server/spr...,
Sandro Santilli <=