CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/07/11 00:41:07
Modified files: . : ChangeLog server : movie_root.cpp Log message: * server/movie_root.cpp (display): fix calls to begin_display/end_display. Fixes playback of multi-level movies. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3708&r2=1.3709 http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.76&r2=1.77 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.3708 retrieving revision 1.3709 diff -u -b -r1.3708 -r1.3709 --- ChangeLog 11 Jul 2007 00:33:56 -0000 1.3708 +++ ChangeLog 11 Jul 2007 00:41:07 -0000 1.3709 @@ -1,5 +1,7 @@ 2007-07-10 Sandro Santilli <[EMAIL PROTECTED]> + * server/movie_root.cpp (display): fix calls to + begin_display/end_display. Fixes playback of multi-level movies. * testsuite/swfdec/PASSING: three more tests succeed (name of loaded instances). * server/character.cpp (getTarget): remove the hard-coded Index: server/movie_root.cpp =================================================================== RCS file: /sources/gnash/gnash/server/movie_root.cpp,v retrieving revision 1.76 retrieving revision 1.77 diff -u -b -r1.76 -r1.77 --- server/movie_root.cpp 10 Jul 2007 23:48:42 -0000 1.76 +++ server/movie_root.cpp 11 Jul 2007 00:41:07 -0000 1.77 @@ -675,6 +675,17 @@ assert(testInvariant()); + // should we cache this ? it's immutable after all ! + const rect& frame_size = getLevel(0)->get_frame_size(); + + render::begin_display( + m_background_color, + m_viewport_x0, m_viewport_y0, + m_viewport_width, m_viewport_height, + frame_size.get_x_min(), frame_size.get_x_max(), + frame_size.get_y_min(), frame_size.get_y_max()); + + for (Levels::iterator i=_movies.begin(), e=_movies.end(); i!=e; ++i) { boost::intrusive_ptr<sprite_instance> movie = i->second; @@ -683,23 +694,20 @@ if (movie->get_visible() == false) continue; - // should we cache this ? it's immutable after all ! - const rect& frame_size = movie->get_frame_size(); - // null frame size ? don't display ! - if ( frame_size.is_null() ) continue; + const rect& sub_frame_size = movie->get_frame_size(); - render::begin_display( - m_background_color, - m_viewport_x0, m_viewport_y0, - m_viewport_width, m_viewport_height, - frame_size.get_x_min(), frame_size.get_x_max(), - frame_size.get_y_min(), frame_size.get_y_max()); + if ( frame_size.is_null() ) + { + log_debug("_level%u has null frame size, skipping", i->first); + continue; + } movie->display(); - render::end_display(); } + + render::end_display(); } _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit