[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 00:16:07 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/10/05 00:16:07
Modified files:
. : ChangeLog
server : movie_root.cpp
Log message:
* server/movie_root.cpp: catch more ActionLimitException: in
setLevel and in advance (both can trigger immediate execution
of actions).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4531&r2=1.4532
http://cvs.savannah.gnu.org/viewcvs/gnash/server/movie_root.cpp?cvsroot=gnash&r1=1.105&r2=1.106
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4531
retrieving revision 1.4532
diff -u -b -r1.4531 -r1.4532
--- ChangeLog 5 Oct 2007 00:01:38 -0000 1.4531
+++ ChangeLog 5 Oct 2007 00:16:06 -0000 1.4532
@@ -1,5 +1,11 @@
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).
+
+2007-10-05 Sandro Santilli <address@hidden>
+
* server/vm/ASHandlers.cpp (ActionSetRegister, ActionPushData):
Don't use global registers in a function2 context with local
registers.
Index: server/movie_root.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/movie_root.cpp,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -b -r1.105 -r1.106
--- server/movie_root.cpp 4 Oct 2007 09:47:36 -0000 1.105
+++ server/movie_root.cpp 5 Oct 2007 00:16:07 -0000 1.106
@@ -165,7 +165,16 @@
(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());
}
@@ -700,7 +709,11 @@
{
// GNASH_REPORT_FUNCTION;
+ try
+ {
+
// Execute expired timers
+ // NOTE: can throw ActionLimitException
executeTimers();
#ifndef NEW_KEY_LISTENER_LIST_DESIGN
@@ -716,13 +729,25 @@
// Advance all non-unloaded characters in the LiveChars list
// in reverse order (last added, first advanced)
+ // NOTE: can throw ActionLimitException
advanceLiveChars(delta_time);
#ifdef NEW_KEY_LISTENER_LIST_DESIGN
cleanup_key_listeners();
#endif
+
+ // Process queued actions
+ // NOTE: can throw ActionLimitException
processActionQueue();
+ }
+ catch (ActionLimitException& al)
+ {
+ log_error(_("ActionLimits hit: %s"), al.what());
+ disableScripts();
+ clearActionQueue();
+ }
+
// Delete characters removed from the stage
// from the display lists
cleanupDisplayList();