[Top][All Lists]
[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();"
);