gnash-commit
[Top][All Lists]
Advanced

[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
 




reply via email to

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