gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/as_object.cpp testsuite/...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/as_object.cpp testsuite/...
Date: Tue, 06 Mar 2007 11:08:46 +0000

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

Modified files:
        .              : ChangeLog 
        server         : as_object.cpp 
        testsuite/actionscript.all: Inheritance.as 

Log message:
                * server/as_object.cpp (instanceOf): made circular inheritance 
an
                  aserror.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2549&r2=1.2550
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Inheritance.as?cvsroot=gnash&r1=1.26&r2=1.27

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2549
retrieving revision 1.2550
diff -u -b -r1.2549 -r1.2550
--- ChangeLog   6 Mar 2007 11:07:22 -0000       1.2549
+++ ChangeLog   6 Mar 2007 11:08:46 -0000       1.2550
@@ -1,5 +1,9 @@
 2007-03-06 Sandro Santilli <address@hidden>
 
+       * server/as_object.cpp (instanceOf): made circular inheritance an
+         aserror. 
+       * testsuite/actionscript.all/Inheritance.as: test circular inheritance
+         detection.
        * server/vm/ASHandlers.cpp (ActionWith): survive empty 'with' blocks.
        * testsuite/actionscript.all/with.as: test empty 'with' block.
 

Index: server/as_object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- server/as_object.cpp        25 Feb 2007 19:02:02 -0000      1.38
+++ server/as_object.cpp        6 Mar 2007 11:08:46 -0000       1.39
@@ -320,7 +320,10 @@
                obj = obj->get_prototype(); 
        }
 
-       if ( obj ) log_warning("Circular inheritance chain detected during 
instanceOf call");
+       // See actionscript.all/Inheritance.as for a way to trigger this
+       IF_VERBOSE_ASCODING_ERRORS(
+       if ( obj ) log_aserror("Circular inheritance chain detected during 
instanceOf call");
+       );
 
        return false;
 }

Index: testsuite/actionscript.all/Inheritance.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Inheritance.as,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- testsuite/actionscript.all/Inheritance.as   4 Mar 2007 00:58:53 -0000       
1.26
+++ testsuite/actionscript.all/Inheritance.as   6 Mar 2007 11:08:46 -0000       
1.27
@@ -20,7 +20,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: Inheritance.as,v 1.26 2007/03/04 00:58:53 strk Exp $";
+rcsid="$Id: Inheritance.as,v 1.27 2007/03/06 11:08:46 strk Exp $";
 
 #include "check.as"
 
@@ -279,3 +279,18 @@
 var b = t4.die(4);
 check_equals(typeof(b), 'undefined');
 
+//------------------------------------------------
+// Test circular inheritance
+//------------------------------------------------
+
+function Test5() {}
+function Test4() {}
+Test5.__proto__ = Test4.prototype;
+Test4.__proto__ = Test5.prototype;
+var t5 = new Test5; 
+var t4 = new Test4;
+
+check(t5 instanceOf Test5);
+check(! t5 instanceOf Test4);
+check(t4 instanceOf Test4);
+check(! t4 instanceOf Test5);




reply via email to

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