CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/09/21 07:35:28
Modified files: . : ChangeLog server : sprite_instance.cpp Log message: * server/sprite_instance.cpp (goto_frame): make sure m_current_frame always reflect the frame number in which the control tags being executed were defined. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4365&r2=1.4366 http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.351&r2=1.352 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4365 retrieving revision 1.4366 diff -u -b -r1.4365 -r1.4366 --- ChangeLog 20 Sep 2007 20:33:07 -0000 1.4365 +++ ChangeLog 21 Sep 2007 07:35:27 -0000 1.4366 @@ -1,5 +1,11 @@ 2007-09-21 Sandro Santilli <[EMAIL PROTECTED]> + * server/sprite_instance.cpp (goto_frame): make + sure m_current_frame always reflect the frame number + in which the control tags being executed were defined. + +2007-09-21 Sandro Santilli <[EMAIL PROTECTED]> + * server/vm/action.cpp (call_method): add more info to the exception derived from attempts to call a value which is neither a C nor an AS function. Index: server/sprite_instance.cpp =================================================================== RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v retrieving revision 1.351 retrieving revision 1.352 diff -u -b -r1.351 -r1.352 --- server/sprite_instance.cpp 20 Sep 2007 20:20:36 -0000 1.351 +++ server/sprite_instance.cpp 21 Sep 2007 07:35:28 -0000 1.352 @@ -2548,14 +2548,15 @@ { // We'd immediately return if target_frame_number == m_current_frame assert(target_frame_number > m_current_frame); - for (size_t f = m_current_frame+1; f<target_frame_number; ++f) + while (++m_current_frame < target_frame_number) { + //for (size_t f = m_current_frame+1; f<target_frame_number; ++f) // Second argument requests that only "DisplayList" tags // are executed. This means NO actions will be // pushed on m_action_list. - execute_frame_tags(f, TAG_DLIST); + execute_frame_tags(m_current_frame, TAG_DLIST); } - m_current_frame = target_frame_number; + assert(m_current_frame == target_frame_number); #if defined(GNASH_DEBUG_TIMELINE) cout << "At end of DisplayList reconstruction, m_current_frame is " << m_current_frame << endl; _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit