CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/09/22 09:15:23
Modified files: . : ChangeLog server : sprite_instance.cpp Log message: * server/sprite_instance.cpp (execute_frame_tags): revert the change in init action execution which blew up youtube. We get more unexpected failures then unexpected succeses with this, and I won't change them to *expected* for now. I just felt this patch will limit annoyance to actual users while we seek a better solution. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4372&r2=1.4373 http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.354&r2=1.355 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4372 retrieving revision 1.4373 diff -u -b -r1.4372 -r1.4373 --- ChangeLog 22 Sep 2007 08:21:12 -0000 1.4372 +++ ChangeLog 22 Sep 2007 09:15:22 -0000 1.4373 @@ -1,5 +1,14 @@ 2007-09-22 Sandro Santilli <[EMAIL PROTECTED]> + * server/sprite_instance.cpp (execute_frame_tags): revert the + change in init action execution which blew up youtube. + We get more unexpected failures then unexpected succeses with + this, and I won't change them to *expected* for now. + I just felt this patch will limit annoyance to actual users while + we seek a better solution. + +2007-09-22 Sandro Santilli <[EMAIL PROTECTED]> + * server/movie_root.cpp (processQueuedActions): fix a memory leak. Thanks dli on #gnash for finding out. Index: server/sprite_instance.cpp =================================================================== RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v retrieving revision 1.354 retrieving revision 1.355 diff -u -b -r1.354 -r1.355 --- server/sprite_instance.cpp 21 Sep 2007 10:03:44 -0000 1.354 +++ server/sprite_instance.cpp 22 Sep 2007 09:15:23 -0000 1.355 @@ -2388,33 +2388,6 @@ assert(typeflags); - 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()); - ); - - if ( (typeflags&TAG_DLIST) && (typeflags&TAG_ACTION) ) - { - std::for_each( playlist->begin(), playlist->end(), boost::bind(&execute_tag::execute, _1, this) ); - } - else if ( typeflags & TAG_DLIST ) - { - assert( ! (typeflags & TAG_ACTION) ); - std::for_each( playlist->begin(), playlist->end(), boost::bind(&execute_tag::execute_state, _1, this) ); - } - else - { - assert(typeflags & TAG_ACTION); - std::for_each(playlist->begin(), playlist->end(), boost::bind(&execute_tag::execute_action, _1, this)); - } - } - // Execute this frame's init actions, if necessary. if (m_init_actions_executed[frame] == false) { @@ -2448,6 +2421,34 @@ } + + 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()); + ); + + if ( (typeflags&TAG_DLIST) && (typeflags&TAG_ACTION) ) + { + std::for_each( playlist->begin(), playlist->end(), boost::bind(&execute_tag::execute, _1, this) ); + } + else if ( typeflags & TAG_DLIST ) + { + assert( ! (typeflags & TAG_ACTION) ); + std::for_each( playlist->begin(), playlist->end(), boost::bind(&execute_tag::execute_state, _1, this) ); + } + else + { + assert(typeflags & TAG_ACTION); + std::for_each(playlist->begin(), playlist->end(), boost::bind(&execute_tag::execute_action, _1, this)); + } + } + testInvariant(); } _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit