[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/movie_root.cpp
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/movie_root.cpp |
Date: |
Fri, 05 Oct 2007 08:13:29 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/10/05 08:13:29
Modified files:
. : ChangeLog
server : movie_root.cpp
Log message:
* server/movie_root.cpp: catch less ActionLimitException: in
setMovieRoot and in advance (both can trigger immediate
execution
of actions). Basically I removed from setLevel as it can be
called
by a child of processAction thus resulting in a missing
cleanup.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4532&r2=1.4533
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.106&r2=1.107
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4532
retrieving revision 1.4533
diff -u -b -r1.4532 -r1.4533
--- ChangeLog 5 Oct 2007 00:16:06 -0000 1.4532
+++ ChangeLog 5 Oct 2007 08:13:28 -0000 1.4533
@@ -1,5 +1,12 @@
2007-10-05 Sandro Santilli <address@hidden>
+ * server/movie_root.cpp: catch less ActionLimitException: in
+ setMovieRoot and in advance (both can trigger immediate execution
+ of actions). Basically I removed from setLevel as it can be called
+ by a child of processAction thus resulting in a missing cleanup.
+
+2007-10-05 Sandro Santilli <address@hidden>
+
* server/movie_root.cpp: catch more ActionLimitException: in
setLevel and in advance (both can trigger immediate execution
of actions).
Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.106
retrieving revision 1.107
diff -u -b -r1.106 -r1.107
--- server/movie_root.cpp 5 Oct 2007 00:16:07 -0000 1.106
+++ server/movie_root.cpp 5 Oct 2007 08:13:29 -0000 1.107
@@ -137,11 +137,20 @@
void
movie_root::setRootMovie(movie_instance* movie)
{
+ try
+ {
setLevel(0, movie);
// actions in first frame of _level0 must execute now, before next
advance,
// or they'll be executed with _currentframe being set to 2
processActionQueue();
+ }
+ catch (ActionLimitException& al)
+ {
+ log_error(_("ActionLimits hit: %s"), al.what());
+ disableScripts();
+ clearActionQueue();
+ }
}
/* private */
@@ -165,16 +174,7 @@
(int) movie->get_movie_definition()->get_height_pixels());
/// Notify placement
- try
- {
movie->stagePlacementCallback();
- }
- catch (ActionLimitException& al)
- {
- log_error(_("ActionLimits hit: %s"), al.what());
- disableScripts();
- clearActionQueue();
- }
assert(testInvariant());
}
@@ -1146,17 +1146,7 @@
while ( ! _actionQueue.empty() )
{
ExecutableCode* code = _actionQueue.front();
- try
- {
code->execute();
- }
- catch (ActionLimitException& al)
- {
- log_error(_("ActionLimits hit: %s"), al.what());
- disableScripts();
- clearActionQueue();
- break;
- }
_actionQueue.pop_front();
delete code;
}