[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test... |
Date: |
Tue, 18 Sep 2007 09:49:24 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/09/18 09:49:24
Modified files:
. : ChangeLog
server : sprite_instance.cpp
testsuite/misc-ming.all: init_action_test.c
testsuite/misc-swfc.all: movieclip_destruction_test1.sc
Log message:
* server/sprite_instance.cpp (execute_frame_tags): execute
init actions *after* DLIST tags.
* testsuite/misc-swfc.all/movieclip_destruction_test1.sc:
No more failures in this case.
* testsuite/misc-ming.all/init_action_test.c: a single
failure was introduced by this comit, for known reason.
We decided to accept the failure and take care of it later.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4339&r2=1.4340
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.343&r2=1.344
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/init_action_test.c?cvsroot=gnash&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-swfc.all/movieclip_destruction_test1.sc?cvsroot=gnash&r1=1.16&r2=1.17
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4339
retrieving revision 1.4340
diff -u -b -r1.4339 -r1.4340
--- ChangeLog 18 Sep 2007 07:35:01 -0000 1.4339
+++ ChangeLog 18 Sep 2007 09:49:23 -0000 1.4340
@@ -1,5 +1,15 @@
2007-09-18 Sandro Santilli <address@hidden>
+ * server/sprite_instance.cpp (execute_frame_tags): execute
+ init actions *after* DLIST tags.
+ * testsuite/misc-swfc.all/movieclip_destruction_test1.sc:
+ No more failures in this case.
+ * testsuite/misc-ming.all/init_action_test.c: a single
+ failure was introduced by this comit, for known reason.
+ We decided to accept the failure and take care of it later.
+
+2007-09-18 Sandro Santilli <address@hidden>
+
* server/array.{cpp,h}: Implement enumerateNonProperties().
Still not 100% correct but fixes youtube controls positioning
(bug #20469).
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.343
retrieving revision 1.344
diff -u -b -r1.343 -r1.344
--- server/sprite_instance.cpp 17 Sep 2007 12:21:47 -0000 1.343
+++ server/sprite_instance.cpp 18 Sep 2007 09:49:23 -0000 1.344
@@ -2409,6 +2409,26 @@
assert(frame < m_def->get_frame_count());
+ const PlayList* playlist = m_def->getPlaylist(frame);
+ if ( playlist )
+ {
+ IF_VERBOSE_ACTION(
+ // Use 1-based frame numbers
+ log_action(_("Executing " SIZET_FMT " tags in frame "
+ SIZET_FMT "/" SIZET_FMT " of sprite %s"),
+ playlist->size(), frame+1, get_frame_count(),
+ getTargetPath().c_str());
+ );
+
+ for (PlayList::const_iterator it=playlist->begin(),
itEnd=playlist->end();
+ it != itEnd; ++it)
+ {
+ execute_tag* tag = *it;
+ if ( typeflags & TAG_DLIST ) tag->execute_state(this);
+ if ( typeflags & TAG_ACTION ) tag->execute_action(this);
+ }
+ }
+
// Execute this frame's init actions, if necessary.
if (m_init_actions_executed[frame] == false)
{
@@ -2441,25 +2461,6 @@
}
}
- const PlayList* playlist = m_def->getPlaylist(frame);
- if ( playlist )
- {
- IF_VERBOSE_ACTION(
- // Use 1-based frame numbers
- log_action(_("Executing " SIZET_FMT " tags in frame "
- SIZET_FMT "/" SIZET_FMT " of sprite %s"),
- playlist->size(), frame+1, get_frame_count(),
- getTargetPath().c_str());
- );
-
- for (PlayList::const_iterator it=playlist->begin(),
itEnd=playlist->end();
- it != itEnd; ++it)
- {
- execute_tag* tag = *it;
- if ( typeflags & TAG_DLIST ) tag->execute_state(this);
- if ( typeflags & TAG_ACTION ) tag->execute_action(this);
- }
- }
testInvariant();
}
Index: testsuite/misc-ming.all/init_action_test.c
===================================================================
RCS file: /sources/gnash/gnash/testsuite/misc-ming.all/init_action_test.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- testsuite/misc-ming.all/init_action_test.c 1 Jul 2007 10:54:54 -0000
1.3
+++ testsuite/misc-ming.all/init_action_test.c 18 Sep 2007 09:49:24 -0000
1.4
@@ -127,7 +127,14 @@
add_actions(mo, "_root.note('_root.actions'); _root.x += '5+'; ");
SWFMovie_nextFrame(mo); /* 2nd frame */
- check_equals(mo, "_root.x", "'1+2+3+4+5+6+7+8+9+'");
+ /* The check below used to succeeds, and started failing when
+ * executing init actions "after" DLIST tags.
+ * Should be fixed if we postpone the call to ::construct
+ * to "after" init actions are executed, which would require
+ * some book keeping in sprite_instance class
+ */
+ xcheck_equals(mo, "_root.x", "'1+2+3+4+5+6+7+8+9+'");
+
check_equals(mo, "_root.y", "'var_of_root'");
add_actions(mo, " _root.totals(); stop(); ");
SWFMovie_nextFrame(mo); /* 3rd frame */
Index: testsuite/misc-swfc.all/movieclip_destruction_test1.sc
===================================================================
RCS file:
/sources/gnash/gnash/testsuite/misc-swfc.all/movieclip_destruction_test1.sc,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- testsuite/misc-swfc.all/movieclip_destruction_test1.sc 18 Sep 2007
06:27:34 -0000 1.16
+++ testsuite/misc-swfc.all/movieclip_destruction_test1.sc 18 Sep 2007
09:49:24 -0000 1.17
@@ -135,8 +135,8 @@
.initaction mc3: // Add initactions for mc3(mc3 is not placed)
_root.initActionExecuted += ", mc3";
- _root.xcheck_equals(mc1, null);
- _root.xcheck_equals(typeof(mc1), 'undefined');
+ _root.check_equals(mc1, null);
+ _root.check_equals(typeof(mc1), 'undefined');
_root.check_equals(typeof(_root.getInstanceAtDepth(-16386)), 'undefined');
.end
@@ -242,9 +242,9 @@
.initaction mc6: // Add initactions for mc6
// Gnash fails by not respecting actions order for initactions
_root.initActionExecuted += ", mc6";
- _root.xcheck_equals(typeof(mc6), 'movieclip');
- _root.xcheck_equals(typeof(mc6.mc61), 'movieclip');
- _root.xcheck_equals(typeof(mc7), 'movieclip');
+ _root.check_equals(typeof(mc6), 'movieclip');
+ _root.check_equals(typeof(mc6.mc61), 'movieclip');
+ _root.check_equals(typeof(mc7), 'movieclip');
_root.check_equals(this, _root); // target is the root !
.end