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
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-commit