[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gnash-commit
Subject:    [Gnash-commit] gnash ./ChangeLog server/array.cpp
From:       strk <strk () keybit ! net>
Date:       2006-04-28 12:34:31
Message-ID: E1FZSB5-0001od-7n () savannah ! gnu ! org
[Download RAW message or body]

CVSROOT:	/sources/gnash
Module name:	gnash
Branch: 	
Changes by:	strk <strk@savannah.gnu.org>	06/04/28 12:34:31

Modified files:
	.              : ChangeLog 
	server         : array.cpp 

Log message:
	Fixed bug in array_as_object copy ctor

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/ChangeLog.diff?tr1=1.251&tr2=1.252&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/array.cpp.diff?tr1=1.20&tr2=1.21&r1=text&r2=text

Patches:
Index: gnash/ChangeLog
diff -u gnash/ChangeLog:1.251 gnash/ChangeLog:1.252
--- gnash/ChangeLog:1.251	Fri Apr 28 01:25:38 2006
+++ gnash/ChangeLog	Fri Apr 28 12:34:30 2006
@@ -1,3 +1,7 @@
+2006-04-28 Sandro Santilli <strk@keybit.net>
+
+	* server/array.cpp: fixed bug in copy constructor.
+
 2006-04-28 Rob Savoye <rob@darkstar.welcomehome.org>
 
 	* README: Add comments about runing autogen.sh and configure for
Index: gnash/server/array.cpp
diff -u gnash/server/array.cpp:1.20 gnash/server/array.cpp:1.21
--- gnash/server/array.cpp:1.20	Thu Apr 27 17:14:05 2006
+++ gnash/server/array.cpp	Fri Apr 28 12:34:31 2006
@@ -71,7 +71,8 @@
 
 	as_array_object::as_array_object(const as_array_object& other)
 		:
-		as_object(other)
+		as_object(other),
+		elements(other.elements)
 	{
 	}
 
@@ -155,15 +156,23 @@
 		// Reportedly, flash version 7 on linux, and Flash 8 on IE look like
 		// "(1,2,3)" and "1,2,3" respectively - which should we mimic?
 		// Using no parentheses until confirmed for sure
+		//
+		// We should change output based on SWF version --strk 2006-04-28
+
 //		std::string temp = "(";
 		std::string temp;
 
-		for (unsigned int i=0, n=elements.size()-1; i<n; i++)
-			temp += elements[i].to_string() + separator;
-
-		// Add the last element without a trailing separator
-		if (elements.size() > 0)
-			temp += elements.back().to_string();
+		for (std::deque<as_value>::iterator
+			it=elements.begin(), itEnd=elements.end();
+			it != itEnd;
+			++it)
+		{
+			as_value& val = *it;
+
+			if ( it != elements.begin() ) temp += separator;
+			
+			temp += std::string(val.to_string());
+		}
 
 //		temp = temp + ")";
 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic