[Top][All Lists]
[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