gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp test...
Date: Tue, 11 Mar 2008 08:25:07 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/03/11 08:25:07

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp 
        testsuite/misc-ming.all: registerClassTest.c 

Log message:
                * server/sprite_instance.cpp (constructAsInstance): compute
                  a 'super' reference.
                * testsuite/misc-ming.all/registerClassTest.c: test super in
                  registered-class constructor.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5866&r2=1.5867
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.484&r2=1.485
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/misc-ming.all/registerClassTest.c?cvsroot=gnash&r1=1.8&r2=1.9

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5866
retrieving revision 1.5867
diff -u -b -r1.5866 -r1.5867
--- ChangeLog   11 Mar 2008 08:01:35 -0000      1.5866
+++ ChangeLog   11 Mar 2008 08:25:06 -0000      1.5867
@@ -1,5 +1,9 @@
 2008-03-10 Sandro Santilli <address@hidden>
 
+       * server/sprite_instance.cpp (constructAsInstance): compute
+         a 'super' reference.
+       * testsuite/misc-ming.all/registerClassTest.c: test super in
+         registered-class constructor.
        * server/as_object.cpp: mark reachable resources from 'super'
          (may live longer then a function call, if that's the user
          intention).

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.484
retrieving revision 1.485
diff -u -b -r1.484 -r1.485
--- server/sprite_instance.cpp  6 Mar 2008 15:29:56 -0000       1.484
+++ server/sprite_instance.cpp  11 Mar 2008 08:25:07 -0000      1.485
@@ -4105,8 +4105,14 @@
       //
       if ( swfversion > 5 )
       {
-        //log_debug(_("Calling the user-defined constructor against this 
sprite_instance"));
-        fn_call call(this, &(get_environment()), 0, 0);
+        log_debug(_("Calling the user-defined constructor against this 
sprite_instance"));
+
+       // Provide a 'super' reference..
+       as_object* super = NULL;
+       as_object* iface = ctor->getPrototype().get(); // this function's 
prototype
+       if ( iface ) super = iface->get_super();
+
+        fn_call call(this, &(get_environment()), 0, 0, super);
 
         // we don't use the constructor return (should we?)
         (*ctor)(call);

Index: testsuite/misc-ming.all/registerClassTest.c
===================================================================
RCS file: /sources/gnash/gnash/testsuite/misc-ming.all/registerClassTest.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- testsuite/misc-ming.all/registerClassTest.c 14 Feb 2008 09:04:10 -0000      
1.8
+++ testsuite/misc-ming.all/registerClassTest.c 11 Mar 2008 08:25:07 -0000      
1.9
@@ -137,7 +137,7 @@
        SWFMovie_nextFrame(mo); /* end of frame3 */
 
        add_actions(mo,
-               "function CustomClass2() { this._x = 160; } "
+               "function CustomClass2() { this._x = 160; 
check_equals(typeof(super.lineTo), 'function'); }"
                "CustomClass2.prototype = new MovieClip;"
                "registerClassRet = Object.registerClass('redsquare', 
CustomClass2);"
                );
@@ -194,7 +194,7 @@
        check(mo, "clip4 instanceOf MovieClip");
 
        add_actions(mo,
-               "totals(24);"
+               "totals(26);"
                "stop();"
                );
 




reply via email to

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