[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: |
Wed, 14 Feb 2007 11:08:12 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/02/14 11:08:12
Modified files:
. : ChangeLog
server : sprite_instance.cpp
testsuite/misc-ming.all: multi_doactions_and_goto_frame_test.c
Log message:
* server/sprite_instance.cpp (goto_frame):
Don't trash actions following gotoFrame() calls
(fixes multiple_doactions_and_goto_frame_test.c).
Added comments about problems with
consecutive_goto_frame_test.
* testsuite/misc-ming.all/multi_doactions_and_goto_frame_test.c:
Don't expect the failure anymore :)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2356&r2=1.2357
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.162&r2=1.163
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/multi_doactions_and_goto_frame_test.c?cvsroot=gnash&r1=1.2&r2=1.3
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2356
retrieving revision 1.2357
diff -u -b -r1.2356 -r1.2357
--- ChangeLog 14 Feb 2007 09:41:38 -0000 1.2356
+++ ChangeLog 14 Feb 2007 11:08:12 -0000 1.2357
@@ -1,3 +1,12 @@
+2007-02-14 Sandro Santilli <address@hidden>
+
+ * server/sprite_instance.cpp (goto_frame):
+ Don't trash actions following gotoFrame() calls
+ (fixes multiple_doactions_and_goto_frame_test.c).
+ Added comments about problems with consecutive_goto_frame_test.
+ * testsuite/misc-ming.all/multi_doactions_and_goto_frame_test.c:
+ Don't expect the failure anymore :)
+
2007-02-14 Tomas Groth Christensen <address@hidden>
* server/asobj/ASSound.{cpp,h}: Renamed to Sound.{h,cpp}.
Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.162
retrieving revision 1.163
diff -u -b -r1.162 -r1.163
--- server/sprite_instance.cpp 13 Feb 2007 16:10:47 -0000 1.162
+++ server/sprite_instance.cpp 14 Feb 2007 11:08:12 -0000 1.163
@@ -2442,6 +2442,13 @@
// Advance everything in the display list.
m_display_list.advance(delta_time);
+ // goto_frame_action (for now) need be executed
+ // *after* actions in child sprites have
+ // been executed. When action execution order
+ // is fixed, we can move this code inside
+ // do_action, or completely drop m_goto_frame_action_list
+ // or rather push actions in goto_frame target frame
+ // directly in the m_action_list (simplest)
if ( ! m_goto_frame_action_list.empty() )
{
IF_VERBOSE_ACTION(
@@ -2453,6 +2460,7 @@
assert(m_goto_frame_action_list.empty());
}
+
}
// child movieclip advance
@@ -2720,6 +2728,10 @@
}
+ /// Backup current action list, as we're going to use it
+ /// to fetch actions in the target frame
+ ActionList actionListBackup = m_action_list;
+
// m_action_list contains actions from frame 'target_frame_number'
// to frame 'm_current_frame', too much than needed, clear it first.
m_action_list.clear();
@@ -2743,15 +2755,16 @@
// Macromedia Flash do goto_frame then run actions from this frame.
// We do too.
- //Zou: stores the target frame actions to m_goto_frame_action_list,
which
- // will be exectued in next advance_sprite
+ // Stores the target frame actions to m_goto_frame_action_list, which
+ // will be executed in after advancing child characters.
+ // When actions execution order will be fixed all of this might
+ // become obsoleted and the target frame actions could be pushed
+ // directly on the preexisting m_action_list (and no need to back it
up).
+ //
m_goto_frame_action_list = m_action_list;
- // FIXME: We can't clear the action_list here! All actions in the
current
- // frame should be executed no matter how many gotoFrames come up, but
- // unfortunately the actions in the current frame have already been
ruined
- // by above code.(Zou)
- m_action_list.clear();
+ // Restore ActionList from backup
+ m_action_list = actionListBackup;
}
Index: testsuite/misc-ming.all/multi_doactions_and_goto_frame_test.c
===================================================================
RCS file:
/sources/gnash/gnash/testsuite/misc-ming.all/multi_doactions_and_goto_frame_test.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- testsuite/misc-ming.all/multi_doactions_and_goto_frame_test.c 14 Feb
2007 09:39:08 -0000 1.2
+++ testsuite/misc-ming.all/multi_doactions_and_goto_frame_test.c 14 Feb
2007 11:08:12 -0000 1.3
@@ -70,7 +70,7 @@
check_equals(mo, "x1", "'as_in_doAction_tag1'");
check_equals(mo, "x2", "'as_in_doAction_tag2'");
- xcheck_equals(mo, "x3", "'as_in_doAction_tag3'");
+ check_equals(mo, "x3", "'as_in_doAction_tag3'");
add_actions(mo, " _root.totals(); stop(); ");
SWFMovie_nextFrame(mo); //3rd frame
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...,
Sandro Santilli <=