gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash server/vm/ASHandlers.cpp ChangeLog


From: Sandro Santilli
Subject: [Gnash-commit] gnash server/vm/ASHandlers.cpp ChangeLog
Date: Tue, 09 Jan 2007 02:13:59 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/01/09 02:13:59

Modified files:
        server/vm      : ASHandlers.cpp 
        .              : ChangeLog 

Log message:
                * server/vm/ASHandlers.cpp (ActionSetRegister, ActionPushData):
                  when setting/getting registers in function2 context and local
                  registers are not available, fallback to using global 
register.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2058&r2=1.2059

Patches:
Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- server/vm/ASHandlers.cpp    8 Jan 2007 14:26:34 -0000       1.25
+++ server/vm/ASHandlers.cpp    9 Jan 2007 02:13:58 -0000       1.26
@@ -16,7 +16,7 @@
 
 //
 
-/* $Id: ASHandlers.cpp,v 1.25 2007/01/08 14:26:34 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.26 2007/01/09 02:13:58 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1576,7 +1576,7 @@
                        {
                                uint8_t reg = code[3 + i];
                                ++i;
-                               if ( thread.isFunction2() )
+                               if ( thread.isFunction2() && reg < 
env.num_local_registers() )
                                {
                                        env.push(env.local_register(reg));
                                }
@@ -3170,7 +3170,7 @@
        uint8_t reg = code[thread.pc + 3];
 
        // Save top of stack in specified register.
-       if ( thread.isFunction2() )
+       if ( thread.isFunction2() && reg < env.num_local_registers() )
        {
                env.local_register(reg) = env.top(0);
                      
@@ -3178,7 +3178,6 @@
                log_action("-------------- local register[%d] = '%s'",
                        reg, env.top(0).to_string());
                );
-
        }
        else if (reg < 4)
        {
@@ -3192,8 +3191,9 @@
        }
        else
        {
-               log_error("store_register[%d] -- register out of bounds!",
-                       reg);
+               IF_VERBOSE_MALFORMED_SWF(
+               log_swferror("store_register[%d] -- register out of bounds!", 
reg);
+               );
        }
                  
 }

Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2058
retrieving revision 1.2059
diff -u -b -r1.2058 -r1.2059
--- ChangeLog   9 Jan 2007 02:02:42 -0000       1.2058
+++ ChangeLog   9 Jan 2007 02:13:59 -0000       1.2059
@@ -1,3 +1,9 @@
+2007-01-08 Sandro Santilli <address@hidden>
+
+       * server/vm/ASHandlers.cpp (ActionSetRegister, ActionPushData):
+         when setting/getting registers in function2 context and local
+         registers are not available, fallback to using global register.
+
 2007-01-09 Bastiaan Jacques <address@hidden>
 
        * macros/agg.m4: When pkg-config is available and it knows Agg,




reply via email to

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