[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/asobj/Object.cpp server/...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/asobj/Object.cpp server/... |
Date: |
Tue, 24 Oct 2006 15:20:53 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 06/10/24 15:20:52
Modified files:
. : ChangeLog
server/asobj : Object.cpp Object.h
server/swf : ASHandlers.cpp
testsuite/actionscript.all: Inheritance.as Object.as
Log message:
* server/asobj/Object.{cpp,h}: added init_object_instance()
function
to create an instance of the Object as class.
* server/swf/ASHandlers.cpp (ActionInitObject): use the new
init_object_instance() function.
* testsuite/actionscript.all/Inheritance.as: one more expected
success
becomes an actual success.
* testsuite/actionscript.all/Object.as: add a few more tests for
inheritance.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1385&r2=1.1386
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Object.cpp?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Object.h?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/ASHandlers.cpp?cvsroot=gnash&r1=1.82&r2=1.83
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Inheritance.as?cvsroot=gnash&r1=1.7&r2=1.8
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Object.as?cvsroot=gnash&r1=1.10&r2=1.11
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1385
retrieving revision 1.1386
diff -u -b -r1.1385 -r1.1386
--- ChangeLog 24 Oct 2006 14:37:12 -0000 1.1385
+++ ChangeLog 24 Oct 2006 15:20:52 -0000 1.1386
@@ -1,5 +1,16 @@
2006-10-25 Sandro Santilli <address@hidden>
+ * server/asobj/Object.{cpp,h}: added init_object_instance() function
+ to create an instance of the Object as class.
+ * server/swf/ASHandlers.cpp (ActionInitObject): use the new
+ init_object_instance() function.
+ * testsuite/actionscript.all/Inheritance.as: one more expected success
+ becomes an actual success.
+ * testsuite/actionscript.all/Object.as: add a few more tests for
+ inheritance.
+
+2006-10-25 Sandro Santilli <address@hidden>
+
* testsuite/actionscript.all/: merged inheritance.as into
Inheritance.as
* server/asobj/: Global.cpp, Makefile.am, Object.{cpp,h}:
Index: server/asobj/Object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Object.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- server/asobj/Object.cpp 24 Oct 2006 14:36:25 -0000 1.1
+++ server/asobj/Object.cpp 24 Oct 2006 15:20:52 -0000 1.2
@@ -36,7 +36,7 @@
//
//
-/* $Id: Object.cpp,v 1.1 2006/10/24 14:36:25 strk Exp $ */
+/* $Id: Object.cpp,v 1.2 2006/10/24 15:20:52 strk Exp $ */
// Implementation of ActionScript Object class.
@@ -105,17 +105,23 @@
as_object* new_obj;
if ( fn.nargs == 0 )
{
- new_obj = new as_object();
+ new_obj = new object_as_object();
}
else
{
log_error("Too many args to Object constructor");
- new_obj = new as_object();
+ new_obj = new object_as_object();
}
fn.result->set_as_object(new_obj);
}
+std::auto_ptr<as_object>
+init_object_instance()
+{
+ return std::auto_ptr<as_object>(new object_as_object);
+}
+
// extern (used by Global.cpp)
void object_class_init(as_object& global)
Index: server/asobj/Object.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Object.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- server/asobj/Object.h 24 Oct 2006 14:36:25 -0000 1.1
+++ server/asobj/Object.h 24 Oct 2006 15:20:52 -0000 1.2
@@ -41,6 +41,8 @@
#ifndef GNASH_OBJECT_H
#define GNASH_OBJECT_H
+#include <memory> // for auto_ptr
+
namespace gnash {
class as_object;
@@ -48,6 +50,9 @@
/// Initialize the global Number class
void object_class_init(as_object& global);
+/// Return an Object instance
+std::auto_ptr<as_object> init_object_instance();
+
}
#endif // GNASH_OBJECT_H
Index: server/swf/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/ASHandlers.cpp,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -b -r1.82 -r1.83
--- server/swf/ASHandlers.cpp 23 Oct 2006 19:22:16 -0000 1.82
+++ server/swf/ASHandlers.cpp 24 Oct 2006 15:20:52 -0000 1.83
@@ -34,7 +34,7 @@
// forward this exception.
//
-/* $Id: ASHandlers.cpp,v 1.82 2006/10/23 19:22:16 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.83 2006/10/24 15:20:52 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -56,6 +56,7 @@
#include "URL.h"
#include "URLAccessManager.h" // for GetUrl actions
#include "action_buffer.h"
+#include "Object.h"
#include <string>
#include <map>
@@ -2135,7 +2136,7 @@
ensure_stack(env, nmembers); // members
- smart_ptr<as_object> new_obj_ptr(new as_object);
+ smart_ptr<as_object> new_obj_ptr(init_object_instance().release());
// Set provided members
for (int i=0; i<nmembers; ++i) {
Index: testsuite/actionscript.all/Inheritance.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Inheritance.as,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- testsuite/actionscript.all/Inheritance.as 24 Oct 2006 14:37:12 -0000
1.7
+++ testsuite/actionscript.all/Inheritance.as 24 Oct 2006 15:20:52 -0000
1.8
@@ -41,7 +41,7 @@
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: Inheritance.as,v 1.7 2006/10/24 14:37:12 strk Exp $";
+rcsid="$Id: Inheritance.as,v 1.8 2006/10/24 15:20:52 strk Exp $";
#include "check.as"
@@ -128,7 +128,7 @@
/// THese have been moved here from inheritance.as
var obj = new Object({a:1});
-xcheck_equals(obj.__proto__.constructor, Object);
+check_equals(obj.__proto__.constructor, Object);
check(obj instanceOf Object);
function SubObj1() {}
Index: testsuite/actionscript.all/Object.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Object.as,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- testsuite/actionscript.all/Object.as 15 Oct 2006 02:30:55 -0000
1.10
+++ testsuite/actionscript.all/Object.as 24 Oct 2006 15:20:52 -0000
1.11
@@ -40,7 +40,7 @@
// compile this test case with Ming makeswf, and then
// execute it like this gnash -1 -r 0 -v out.swf
-rcsid="$Id: Object.as,v 1.10 2006/10/15 02:30:55 rsavoye Exp $";
+rcsid="$Id: Object.as,v 1.11 2006/10/24 15:20:52 strk Exp $";
#include "check.as"
@@ -48,6 +48,7 @@
var obj = new Object; // uses SWFACTION_NEWOBJECT
check (obj != undefined);
check (typeof(obj) == "object");
+check (obj.__proto__.constructor == Object);
// Test instantiated Object members
obj.member = 1;
@@ -57,6 +58,7 @@
var obj2 = { member:1 }; // uses SWFACTION_INITOBJECT
check (obj2 != undefined );
check (typeof(obj2) == "object");
+check (obj2.__proto__.constructor == Object);
// Test initialized object members
check ( obj2.member == 1 )
@@ -65,6 +67,7 @@
var obj3 = new Object({ member:1 });
check (obj3 != undefined);
check (typeof(obj3) == "object");
+check (obj3.__proto__.constructor == Object);
// Test initialized object members
check ( obj3.member != undefined );
@@ -84,6 +87,7 @@
copy.test = 4;
check_equals( copy.test, 4 );
check_equals( obj3.test, 4 );
+check (copy.__proto__.constructor == Object);
//----------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/asobj/Object.cpp server/...,
Sandro Santilli <=