CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 07/09/27 09:27:41
Modified files: . : ChangeLog server : movie_root.cpp Log message: * server/movie_root.cpp (restart): rework restart mechanism by actually re-instantiating the root from it's definition. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4439&r2=1.4440 http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.98&r2=1.99 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.4439 retrieving revision 1.4440 diff -u -b -r1.4439 -r1.4440 --- ChangeLog 27 Sep 2007 08:14:26 -0000 1.4439 +++ ChangeLog 27 Sep 2007 09:27:40 -0000 1.4440 @@ -1,3 +1,8 @@ +2007-09-27 Sandro Santilli <[EMAIL PROTECTED]> + + * server/movie_root.cpp (restart): rework restart mechanism + by actually re-instantiating the root from it's definition. + 2007-09-27 Benjamin Wolsey <[EMAIL PROTECTED]> * server/movie_root.cpp: move level0->restart() Index: server/movie_root.cpp =================================================================== RCS file: /sources/gnash/gnash/server/movie_root.cpp,v retrieving revision 1.98 retrieving revision 1.99 diff -u -b -r1.98 -r1.99 --- server/movie_root.cpp 27 Sep 2007 08:14:27 -0000 1.98 +++ server/movie_root.cpp 27 Sep 2007 09:27:41 -0000 1.99 @@ -191,24 +191,18 @@ // wipe out queued actions _actionQueue.clear(); - // take a copy of _level0 - boost::intrusive_ptr<movie_instance> level0 = getLevel(0); + // Get an handle to definition of _level0 + // + // TODO: this is bogus, in case _level0 was loaded into + // + boost::intrusive_ptr<movie_definition> level0Def = getLevel(0)->get_movie_definition(); // wipe out all levels _movies.clear(); - // Add level0 back in place - // NOTE: we don't call setLevel to avoid calling ::stagePlacementCallback again - _movies[0] = level0; - - // Restart the level0 movie - // TODO: instead, take it's definition and re-instantiate - // a new movie here ! The only problem would be re-setting - // externally set variables - level0->restart(); + boost::intrusive_ptr<movie_instance> level0 = level0Def->create_movie_instance(); - // Process actions queued by restart/stagePlacementCallback - processActionQueue(); + setRootMovie(level0.get()); // Delete characters removed from the stage // from the display lists _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit