CVSROOT: /sources/gnash Module name: gnash Changes by: Sandro Santilli <strk> 08/01/09 08:29:37
Modified files: . : ChangeLog server : movie_root.cpp movie_root.h Log message: Lear the interval timeouts on restart/reset/clear. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5349&r2=1.5350 http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.141&r2=1.142 http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.h?cvsroot=gnash&r1=1.98&r2=1.99 Patches: Index: ChangeLog =================================================================== RCS file: /sources/gnash/gnash/ChangeLog,v retrieving revision 1.5349 retrieving revision 1.5350 diff -u -b -r1.5349 -r1.5350 --- ChangeLog 9 Jan 2008 00:58:12 -0000 1.5349 +++ ChangeLog 9 Jan 2008 08:29:35 -0000 1.5350 @@ -1,5 +1,10 @@ 2008-01-08 Sandro Santilli <[EMAIL PROTECTED]> + * server/movie_root.{cpp,h}: clear the interval timeouts + on restart/reset/clear. + +2008-01-08 Sandro Santilli <[EMAIL PROTECTED]> + * server/movie_root.cpp (setLevel): properly destroy existing levels when loading into them. * testsuite/gnashrc.in: pretend we're version Index: server/movie_root.cpp =================================================================== RCS file: /sources/gnash/gnash/server/movie_root.cpp,v retrieving revision 1.141 retrieving revision 1.142 diff -u -b -r1.141 -r1.142 --- server/movie_root.cpp 9 Jan 2008 00:58:13 -0000 1.141 +++ server/movie_root.cpp 9 Jan 2008 08:29:36 -0000 1.142 @@ -120,16 +120,23 @@ } } -movie_root::~movie_root() +void +movie_root::clearIntervalTimers() { - clearActionQueue(); - for (TimerMap::iterator it=_intervalTimers.begin(), itE=_intervalTimers.end(); it != itE; ++it) { delete it->second; } + _intervalTimers.clear(); +} + +movie_root::~movie_root() +{ + clearActionQueue(); + clearIntervalTimers(); + assert(testInvariant()); } @@ -362,6 +369,9 @@ // wipe out all levels _movies.clear(); + // remove all intervals + clearIntervalTimers(); + #ifdef GNASH_USE_GC // Run the garbage collector again GC::get().collect(); Index: server/movie_root.h =================================================================== RCS file: /sources/gnash/gnash/server/movie_root.h,v retrieving revision 1.98 retrieving revision 1.99 diff -u -b -r1.98 -r1.99 --- server/movie_root.h 23 Dec 2007 22:29:56 -0000 1.98 +++ server/movie_root.h 9 Jan 2008 08:29:36 -0000 1.99 @@ -15,7 +15,7 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -/* $Id: movie_root.h,v 1.98 2007/12/23 22:29:56 strk Exp $ */ +/* $Id: movie_root.h,v 1.99 2008/01/09 08:29:36 strk Exp $ */ /// \page events_handling Handling of user events /// @@ -621,6 +621,9 @@ /// Delete all elements on the action queue and empty it. void clearActionQueue(); + /// Delete all elements on the timers list + void clearIntervalTimers(); + /// An element of the advanceable characters typedef boost::intrusive_ptr<character> AdvanceableCharacter; _______________________________________________ Gnash-commit mailing list Gnash-commit@gnu.org http://lists.gnu.org/mailman/listinfo/gnash-commit