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: Sat, 27 Oct 2007 09:41:07 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/10/27 09:41:07

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

Log message:
                * server/as_object.cpp (findUpdatableProperty): don't overlook
                  invisible properties in *this* object, it'll be eventually
                  overridden.
                * testsuite/actionscript.all/Global.as: more successes.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4726&r2=1.4727
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.73&r2=1.74
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Global.as?cvsroot=gnash&r1=1.31&r2=1.32

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4726
retrieving revision 1.4727
diff -u -b -r1.4726 -r1.4727
--- ChangeLog   27 Oct 2007 09:17:02 -0000      1.4726
+++ ChangeLog   27 Oct 2007 09:41:06 -0000      1.4727
@@ -1,5 +1,12 @@
 2007-10-27 Sandro Santilli <address@hidden>
 
+       * server/as_object.cpp (findUpdatableProperty): don't overlook
+         invisible properties in *this* object, it'll be eventually
+         overridden.
+       * testsuite/actionscript.all/Global.as: more successes.
+
+2007-10-27 Sandro Santilli <address@hidden>
+
        * testsuite/actionscript.all/Global.as: test ignore property flags
          effect on inherited gettersetter.
 

Index: server/as_object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -b -r1.73 -r1.74
--- server/as_object.cpp        26 Oct 2007 23:34:14 -0000      1.73
+++ server/as_object.cpp        27 Oct 2007 09:41:06 -0000      1.74
@@ -215,7 +215,11 @@
        int swfVersion = _vm.getSWFVersion();
 
        Property* prop = _members.getProperty(key, nsname);
-       if ( prop && prop->isVisible(swfVersion) ) return prop;
+       // 
+       // We won't scan the inheritance chain if we find a member,
+       // even if invisible.
+       // 
+       if ( prop ) return prop; // && prop->isVisible(swfVersion) ) return 
prop;
 
        // don't enter an infinite loop looking for __proto__ ...
        if (key == NSV::PROP_uuPROTOuu) return NULL;

Index: testsuite/actionscript.all/Global.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Global.as,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- testsuite/actionscript.all/Global.as        27 Oct 2007 09:17:03 -0000      
1.31
+++ testsuite/actionscript.all/Global.as        27 Oct 2007 09:41:07 -0000      
1.32
@@ -21,7 +21,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: Global.as,v 1.31 2007/10/27 09:17:03 strk Exp $";
+rcsid="$Id: Global.as,v 1.32 2007/10/27 09:41:07 strk Exp $";
 
 #include "check.as"
 
@@ -162,10 +162,10 @@
        ASsetPropFlags(a, "m", 256);
        check_equals(a.m, 9);
        a.m=2; // won't call setter, but set a own property m and clear ignore 
flag
-       xcheck_equals(a.s, 9); // setter wasn't called
+       check_equals(a.s, 9); // setter wasn't called
        xcheck_equals(a.m, 2); // ignore flag was cleared
        ASsetPropFlags(a, "m", 256);
-       xcheck_equals(a.m, 9); // a own property was set instead
+       check_equals(a.m, 9); // a own property was set instead
 
        b = {}; b.addProperty("m", get, set);
        a = { m:1 }; a.__proto__ = b; a.s = 9;
@@ -173,10 +173,10 @@
        ASsetPropFlags(a, "m", 1024);
        check_equals(a.m, 9);
        a.m=2; // won't call setter, but set a own property m
-       xcheck_equals(a.s, 9); // setter wasn't called
-       xcheck_equals(a.m, 9); // ignore flag wasn't cleared
+       check_equals(a.s, 9); // setter wasn't called
+       check_equals(a.m, 9); // ignore flag wasn't cleared
        ASsetPropFlags(a, "m", 0, 1024);
-       xcheck_equals(a.m, 2); // a own property was set instead
+       check_equals(a.m, 2); // a own property was set instead
 
        b = {}; b.addProperty("m", get, set);
        a = { m:1 }; a.__proto__ = b; a.s = 9;
@@ -184,10 +184,10 @@
        ASsetPropFlags(a, "m", 4096);
        check_equals(a.m, 9);
        a.m=2; // won't call setter, but set a own property m
-       xcheck_equals(a.s, 9); // setter wasn't called
+       check_equals(a.s, 9); // setter wasn't called
        xcheck_equals(a.m, 2); // ignore flag was cleared
        ASsetPropFlags(a, "m", 0, 4096);
-       xcheck_equals(a.m, 2); // a own property was set instead
+       check_equals(a.m, 2); // a own property was set instead
 
 #endif // OUTPUT_VERSION == 6
 
@@ -199,10 +199,10 @@
        ASSetPropFlags(a, "m", 4096);
        check_equals(a.m, 9); 
        a.m=2; // won't call setter, but set a own property m
-       xcheck_equals(a.s, 9); // setter wasn't called
+       check_equals(a.s, 9); // setter wasn't called
        xcheck_equals(a.m, 2); // ignore flag was cleared
        ASSetPropFlags(a, "m", 0, 4096);
-       xcheck_equals(a.m, 2); // a own property was set instead
+       check_equals(a.m, 2); // a own property was set instead
 
 #endif // OUTPUT_VERSION == 7
 




reply via email to

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