[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/array.cpp server/array.h...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/array.cpp server/array.h... |
Date: |
Wed, 28 Feb 2007 07:41:28 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/02/28 07:41:27
Modified files:
. : ChangeLog
server : array.cpp array.h
testsuite/actionscript.all: array.as
Log message:
* server/array.{cpp,h}: allow resize trough
setting the 'length' property.
* testsuite/actionscript.all/array.as: test
that arrays 'length' is settable.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2487&r2=1.2488
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.h?cvsroot=gnash&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/array.as?cvsroot=gnash&r1=1.11&r2=1.12
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2487
retrieving revision 1.2488
diff -u -b -r1.2487 -r1.2488
--- ChangeLog 28 Feb 2007 04:27:59 -0000 1.2487
+++ ChangeLog 28 Feb 2007 07:41:27 -0000 1.2488
@@ -1,3 +1,10 @@
+2007-02-28 Sandro Santilli <address@hidden>
+
+ * server/array.{cpp,h}: allow resize trough
+ setting the 'length' property.
+ * testsuite/actionscript.all/array.as: test
+ that arrays 'length' is settable.
+
2007-02-28 Markus Gothe <address@hidden>
* server/asobj/Date.cpp: #define NAN (0.0/0.0) as this is not comp.
Index: server/array.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/array.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- server/array.cpp 18 Jan 2007 22:53:21 -0000 1.48
+++ server/array.cpp 28 Feb 2007 07:41:27 -0000 1.49
@@ -332,6 +332,12 @@
return get_member_default(name, val);
}
+void
+as_array_object::resize(unsigned int newsize)
+{
+ elements.resize(newsize);
+}
+
/* virtual public, overriding as_object::set_member */
void
as_array_object::set_member(const std::string& name,
@@ -339,7 +345,8 @@
{
if ( name == "length" )
{
- log_warning("Attempt to assign to Array.length - ignored");
+ //log_warning("Attempt to assign to Array.length - ignored");
+ resize(unsigned(val.to_number()));
return;
}
Index: server/array.h
===================================================================
RCS file: /sources/gnash/gnash/server/array.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- server/array.h 18 Jan 2007 22:53:21 -0000 1.19
+++ server/array.h 28 Feb 2007 07:41:27 -0000 1.20
@@ -85,7 +85,7 @@
unsigned int size() const;
- //void resize(unsigned int);
+ void resize(unsigned int);
void concat(const as_array_object& other);
Index: testsuite/actionscript.all/array.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/array.as,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- testsuite/actionscript.all/array.as 21 Nov 2006 10:53:08 -0000 1.11
+++ testsuite/actionscript.all/array.as 28 Feb 2007 07:41:27 -0000 1.12
@@ -5,7 +5,7 @@
// Updated with sort functions, and to use check() macro
// by Mike Carlson Feb. 14th, 2006
-rcsid="$Id: array.as,v 1.11 2006/11/21 10:53:08 strk Exp $";
+rcsid="$Id: array.as,v 1.12 2007/02/28 07:41:27 strk Exp $";
#include "check.as"
@@ -143,7 +143,20 @@
check_equals ( c[999] , undefined );
check_equals ( c.length, 1001 );
+// Test that the 'length' property is overridable
+c[8] = 'eight';
+check_equals(c[8], 'eight');
+c.length = 2;
+check_equals(c.length, 2);
+check_equals(c[8], undefined);
+
// $Log: array.as,v $
+// Revision 1.12 2007/02/28 07:41:27 strk
+// * server/array.{cpp,h}: allow resize trough
+// setting the 'length' property.
+// * testsuite/actionscript.all/array.as: test
+// that arrays 'length' is settable.
+//
// Revision 1.11 2006/11/21 10:53:08 strk
// * server/array.h: documented ::slice function
// * server/array.cpp: more fixes.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/array.cpp server/array.h...,
Sandro Santilli <=