gnash-commit
[Top][All Lists]
Advanced

[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();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]