gnash-commit
[Top][All Lists]
Advanced

[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);
 
 
 //----------------------




reply via email to

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