gnash-commit
[Top][All Lists]
Advanced

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

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


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/vm/action.cpp
Date: Tue, 23 Jan 2007 17:26:08 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/01/23 17:26:08

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

Log message:
                * server/vm/action.cpp (call_method): catch ActionException
                  so return for invalid calls is always undefined.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2157&r2=1.2158
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/action.cpp?cvsroot=gnash&r1=1.5&r2=1.6

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2157
retrieving revision 1.2158
diff -u -b -r1.2157 -r1.2158
--- ChangeLog   23 Jan 2007 17:17:14 -0000      1.2157
+++ ChangeLog   23 Jan 2007 17:26:08 -0000      1.2158
@@ -4,6 +4,8 @@
        * server/sprite_instance.cpp, server/asobj/Date.cpp:
          throw an ActionException if methods or gettersetter properties are 
invoked
          against the wrong instance type.
+       * server/vm/action.cpp (call_method): catch ActionException
+         so return for invalid calls is always undefined.
 
 2007-01-23 Tomas Groth Christensen <address@hidden>
 

Index: server/vm/action.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/action.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- server/vm/action.cpp        18 Jan 2007 22:53:22 -0000      1.5
+++ server/vm/action.cpp        23 Jan 2007 17:26:08 -0000      1.6
@@ -233,6 +233,8 @@
        as_value val;
        fn_call call(&val, this_ptr, env, nargs, first_arg_bottom_index);
 
+       try 
+       {
        if ( as_c_function_ptr func = method.to_c_function() )
        {
            // It's a C function.  Call it.
@@ -245,11 +247,14 @@
        }
        else
        {
+                       throw ActionException("Attempt to call a value which is 
neither a C nor an ActionScript function");
+               }
+       }
+       catch (ActionException& ex)
+       {
+               assert(val.is_undefined());
                        IF_VERBOSE_ASCODING_ERRORS(
-               log_warning(
-                       "error in call_method(): "
-                       "'%s' is neither a C nor an ActionScript function\n",
-                       method.to_string());
+               log_aserror("%s", ex.what());
                        );
        }
 




reply via email to

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