gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/as_function.cpp testsuit...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/as_function.cpp testsuit...
Date: Wed, 12 Mar 2008 21:20:49 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/03/12 21:20:48

Modified files:
        .              : ChangeLog 
        server         : as_function.cpp 
        testsuite/swfdec: PASSING 

Log message:
        set super in Function.call

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5889&r2=1.5890
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_function.cpp?cvsroot=gnash&r1=1.50&r2=1.51
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/swfdec/PASSING?cvsroot=gnash&r1=1.100&r2=1.101

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5889
retrieving revision 1.5890
diff -u -b -r1.5889 -r1.5890
--- ChangeLog   12 Mar 2008 20:51:14 -0000      1.5889
+++ ChangeLog   12 Mar 2008 21:20:47 -0000      1.5890
@@ -1,5 +1,7 @@
 2008-03-12 Sandro Santilli <address@hidden>
 
+       * testsuite/swfdec/PASSING: super-reference-6.swf succeeds.
+       * server/as_function.cpp (function_call): set super.
        * testsuite/actionscript.all/Stage.as: successes..
 
 2008-03-12 Benjamin Wolsey <address@hidden>

Index: server/as_function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_function.cpp,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- server/as_function.cpp      10 Mar 2008 23:23:09 -0000      1.50
+++ server/as_function.cpp      12 Mar 2008 21:20:48 -0000      1.51
@@ -330,6 +330,17 @@
                else
                {
                        new_fn_call.this_ptr = this_ptr;
+                       as_object* proto = this_ptr->get_prototype().get();
+                       if ( proto )
+                       {
+                               new_fn_call.super = proto->get_super();
+                       }
+                       else
+                       {
+                               // TODO: check this !
+                               log_debug("No prototype in 'this' pointer 
passed to Function.call");
+                               new_fn_call.super = function_obj->get_super();
+                       }
                }
                new_fn_call.nargs--;
                new_fn_call.set_offset(new_fn_call.offset()-1);

Index: testsuite/swfdec/PASSING
===================================================================
RCS file: /sources/gnash/gnash/testsuite/swfdec/PASSING,v
retrieving revision 1.100
retrieving revision 1.101
diff -u -b -r1.100 -r1.101
--- testsuite/swfdec/PASSING    10 Mar 2008 23:23:11 -0000      1.100
+++ testsuite/swfdec/PASSING    12 Mar 2008 21:20:48 -0000      1.101
@@ -718,6 +718,7 @@
 super-property-5.swf:8c57b2c41aad5760bd5b52c90b359316
 super-property-6.swf:7b606f24b21da8c389ccf9f3c8eea66e
 super-property-7.swf:d31079db52dee599db902021f74f8394
+super-reference-6.swf:cbcbc91f0d25eb0006989138840ce04c
 super-this-5.swf:0e68ec038aea019ba6434698eb61e31a
 targetpath-5.swf:5af443c52767f4709305003a8d081ffc
 targetpath-6.swf:100f7f5ac0740ce49f0a2dac8ee10ab8




reply via email to

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