gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/array.cpp server/as_func...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/array.cpp server/as_func...
Date: Fri, 31 Aug 2007 21:53:33 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/08/31 21:53:33

Modified files:
        .              : ChangeLog 
        server         : array.cpp as_function.cpp as_object.cpp 
                         as_object.h edit_text_character.cpp 
                         sprite_instance.cpp video_stream_instance.cpp 
        server/asobj   : Boolean.cpp Camera.cpp Color.cpp 
                         ContextMenu.cpp CustomActions.cpp Date.cpp 
                         Error.cpp Key.cpp LoadVars.cpp Microphone.cpp 
                         Mouse.cpp MovieClipLoader.cpp NetConnection.cpp 
                         NetStream.cpp Number.cpp Object.cpp 
                         Selection.cpp SharedObject.cpp Sound.cpp 
                         Stage.cpp System.cpp TextSnapshot.cpp 
                         string.cpp xmlnode.cpp xmlsocket.cpp 
        testsuite/actionscript.all: Function.as Global.as MovieClip.as 
                                    TextField.as Video.as array.as 
        testsuite/swfdec: PASSING 

Log message:
                * server/as_object.{cpp,h}: changed get_prototype to always 
return
                  the actual prototype (rather then returning the Object 
prototype
                  if unset).
                * server/: array.cpp, as_function.cpp, edit_text_character.cpp,
                  sprite_instance.cpp, video_stream_instance.cpp:
                  Initialize AS class interfaces (prototype) as being 
subclasses of
                  the Object class.
                * server/asobj/: Boolean.cpp, Camera.cpp, Color.cpp,
                  ContextMenu.cpp, CustomActions.cpp, Date.cpp, Error.cpp, 
Key.cpp,
                  LoadVars.cpp, Microphone.cpp, Mouse.cpp, MovieClipLoader.cpp,
                  NetConnection.cpp, NetStream.cpp, Number.cpp, Object.cpp,
                  Selection.cpp, SharedObject.cpp, Sound.cpp, Stage.cpp, 
System.cpp,
                  TextSnapshot.cpp, string.cpp, xmlnode.cpp, xmlsocket.cpp
                  Initialize AS class interfaces (prototype) as being 
subclasses of
                  the Object class.
                * testsuite/actionscript.all/Global.as: more successes.
                * testsuite/actionscript.all/Function.as: one more test for
                  Function.prototype.__proto__
                * testsuite/actionscript.all/MovieClip.as: more tests for
                  MovieClip.prototype.__proto__
                * testsuite/actionscript.all/TextField.as: more tests for
                  TextField.prototype.__proto__
                * testsuite/actionscript.all/Video.as: more tests for
                  Video.prototype.__proto__
                * testsuite/actionscript.all/array.as: more tests for
                  Array.prototype.__proto__
                * testsuite/swfdec/PASSING: successes from latest swfdec
                  testsuite.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.4177&r2=1.4178
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.74&r2=1.75
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_function.cpp?cvsroot=gnash&r1=1.37&r2=1.38
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.56&r2=1.57
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.h?cvsroot=gnash&r1=1.63&r2=1.64
http://cvs.savannah.gnu.org/viewcvs/gnash/server/edit_text_character.cpp?cvsroot=gnash&r1=1.105&r2=1.106
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.318&r2=1.319
http://cvs.savannah.gnu.org/viewcvs/gnash/server/video_stream_instance.cpp?cvsroot=gnash&r1=1.35&r2=1.36
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Boolean.cpp?cvsroot=gnash&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Camera.cpp?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Color.cpp?cvsroot=gnash&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/ContextMenu.cpp?cvsroot=gnash&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/CustomActions.cpp?cvsroot=gnash&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Date.cpp?cvsroot=gnash&r1=1.48&r2=1.49
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Error.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Key.cpp?cvsroot=gnash&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/LoadVars.cpp?cvsroot=gnash&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Microphone.cpp?cvsroot=gnash&r1=1.9&r2=1.10
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Mouse.cpp?cvsroot=gnash&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/MovieClipLoader.cpp?cvsroot=gnash&r1=1.27&r2=1.28
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetConnection.cpp?cvsroot=gnash&r1=1.49&r2=1.50
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&r1=1.69&r2=1.70
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Number.cpp?cvsroot=gnash&r1=1.32&r2=1.33
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Object.cpp?cvsroot=gnash&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Selection.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/SharedObject.cpp?cvsroot=gnash&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Sound.cpp?cvsroot=gnash&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Stage.cpp?cvsroot=gnash&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/System.cpp?cvsroot=gnash&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/TextSnapshot.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/string.cpp?cvsroot=gnash&r1=1.35&r2=1.36
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlnode.cpp?cvsroot=gnash&r1=1.38&r2=1.39
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlsocket.cpp?cvsroot=gnash&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Function.as?cvsroot=gnash&r1=1.53&r2=1.54
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Global.as?cvsroot=gnash&r1=1.26&r2=1.27
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/MovieClip.as?cvsroot=gnash&r1=1.86&r2=1.87
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/TextField.as?cvsroot=gnash&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/Video.as?cvsroot=gnash&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/array.as?cvsroot=gnash&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/swfdec/PASSING?cvsroot=gnash&r1=1.26&r2=1.27

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.4177
retrieving revision 1.4178
diff -u -b -r1.4177 -r1.4178
--- ChangeLog   31 Aug 2007 18:10:53 -0000      1.4177
+++ ChangeLog   31 Aug 2007 21:53:30 -0000      1.4178
@@ -1,5 +1,36 @@
 2007-08-31 Sandro Santilli <address@hidden>
 
+       * server/as_object.{cpp,h}: changed get_prototype to always return
+         the actual prototype (rather then returning the Object prototype
+         if unset).
+       * server/: array.cpp, as_function.cpp, edit_text_character.cpp,
+         sprite_instance.cpp, video_stream_instance.cpp:
+         Initialize AS class interfaces (prototype) as being subclasses of
+         the Object class.
+       * server/asobj/: Boolean.cpp, Camera.cpp, Color.cpp,
+         ContextMenu.cpp, CustomActions.cpp, Date.cpp, Error.cpp, Key.cpp,
+         LoadVars.cpp, Microphone.cpp, Mouse.cpp, MovieClipLoader.cpp,
+         NetConnection.cpp, NetStream.cpp, Number.cpp, Object.cpp,
+         Selection.cpp, SharedObject.cpp, Sound.cpp, Stage.cpp, System.cpp,
+         TextSnapshot.cpp, string.cpp, xmlnode.cpp, xmlsocket.cpp
+         Initialize AS class interfaces (prototype) as being subclasses of
+         the Object class.
+       * testsuite/actionscript.all/Global.as: more successes.
+       * testsuite/actionscript.all/Function.as: one more test for
+         Function.prototype.__proto__
+       * testsuite/actionscript.all/MovieClip.as: more tests for
+         MovieClip.prototype.__proto__
+       * testsuite/actionscript.all/TextField.as: more tests for
+         TextField.prototype.__proto__
+       * testsuite/actionscript.all/Video.as: more tests for
+         Video.prototype.__proto__
+       * testsuite/actionscript.all/array.as: more tests for
+         Array.prototype.__proto__
+       * testsuite/swfdec/PASSING: successes from latest swfdec
+         testsuite.
+
+2007-08-31 Sandro Santilli <address@hidden>
+
        * testsuite/actionscript.all/Object.as: add test for
          Object.prototype.__proto__ expected to be undefined (bad bug
          in Gnash!).

Index: server/array.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/array.cpp,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -b -r1.74 -r1.75
--- server/array.cpp    31 Aug 2007 17:07:36 -0000      1.74
+++ server/array.cpp    31 Aug 2007 21:53:31 -0000      1.75
@@ -30,6 +30,7 @@
 #include "GnashException.h"
 #include "action.h" // for call_method
 #include "VM.h" // for PROPNAME macro to work
+#include "Object.h" // for getObjectInterface()
 
 #include <string>
 #include <algorithm>
@@ -1420,7 +1421,7 @@
        static boost::intrusive_ptr<as_object> proto = NULL;
        if ( proto == NULL )
        {
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                VM::get().addStatic(proto.get());
 
                attachArrayInterface(*proto);

Index: server/as_function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_function.cpp,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -b -r1.37 -r1.38
--- server/as_function.cpp      17 Aug 2007 03:21:47 -0000      1.37
+++ server/as_function.cpp      31 Aug 2007 21:53:31 -0000      1.38
@@ -30,6 +30,7 @@
 #include "fn_call.h"
 #include "GnashException.h"
 #include "VM.h"
+#include "Object.h" // for getObjectInterface
 
 #include <typeinfo>
 #include <iostream>
@@ -73,7 +74,7 @@
        if ( proto.get() == NULL ) {
 
                // Initialize Function prototype
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                VM::get().addStatic(proto.get());
 
                if ( VM::get().getSWFVersion() >= 6 )
@@ -107,7 +108,7 @@
        /// TODO: create properties lazily, on getPrototype() call
        if ( ! _properties )
        {
-               _properties = new as_object();
+               _properties = new as_object(getObjectInterface());
        }
        _properties->init_member("constructor", this); 
        init_member("prototype", as_value(_properties.get()));

Index: server/as_object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.cpp,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- server/as_object.cpp        24 Jul 2007 13:08:55 -0000      1.56
+++ server/as_object.cpp        31 Aug 2007 21:53:31 -0000      1.57
@@ -106,9 +106,12 @@
        if (name == "__proto__")
        {
                as_object* p = get_prototype();
-               assert(p);
-               val->set_as_object(get_prototype());
+               if ( p ) {
+                       val->set_as_object(p);
                return true;
+               } else {
+                       return false;
+               }
        }
 
        Property* prop = findProperty(name);
@@ -622,8 +625,14 @@
        if ( m_prototype ) return m_prototype.get();
        //log_msg(_("as_object::get_prototype(): Hit top of inheritance 
chain"));
 
+#if 0 // the inheritance chain MUST end somewhere, handle the SWF4 thing in 
some other way
        // if SWF version < 5 the Object interface won't keep alive !
-       if ( _vm.getSWFVersion() > 4 ) return getObjectInterface();
+       if ( _vm.getSWFVersion() > 4 )
+       {
+               return getObjectInterface();
+       }
+#endif
+
        return NULL;
 }
 

Index: server/as_object.h
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.h,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -b -r1.63 -r1.64
--- server/as_object.h  18 Aug 2007 11:58:07 -0000      1.63
+++ server/as_object.h  31 Aug 2007 21:53:31 -0000      1.64
@@ -440,6 +440,8 @@
        /// The __proto__ member is the exported interface ('prototype')
        /// of the class this object is an instance of.
        ///
+       /// NOTE: can return NULL (and it is expected to do for 
Object.prototype)
+       ///
        as_object* get_prototype();
 
        const as_object* get_prototype() const {

Index: server/edit_text_character.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/edit_text_character.cpp,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -b -r1.105 -r1.106
--- server/edit_text_character.cpp      30 Aug 2007 14:13:07 -0000      1.105
+++ server/edit_text_character.cpp      31 Aug 2007 21:53:31 -0000      1.106
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: edit_text_character.cpp,v 1.105 2007/08/30 14:13:07 strk Exp $ */
+/* $Id: edit_text_character.cpp,v 1.106 2007/08/31 21:53:31 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -36,6 +36,7 @@
 #include "VM.h"
 #include "builtin_function.h" // for getter/setter properties
 #include "font.h" // for using the _font member
+#include "Object.h" // for getObjectInterface
 
 #include <algorithm>
 #include <string>
@@ -365,7 +366,7 @@
        static boost::intrusive_ptr<as_object> proto;
        if ( proto == NULL )
        {
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                VM::get().addStatic(proto.get());
 
                attachTextFieldInterface(*proto);

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.318
retrieving revision 1.319
diff -u -b -r1.318 -r1.319
--- server/sprite_instance.cpp  31 Aug 2007 15:17:57 -0000      1.318
+++ server/sprite_instance.cpp  31 Aug 2007 21:53:31 -0000      1.319
@@ -51,6 +51,7 @@
 #include "ExecutableCode.h"
 #include "gnash.h" // for point class !
 #include "Timeline.h" // for restoreDisplayList
+#include "Object.h" // for getObjectInterface
 
 #include <vector>
 #include <string>
@@ -1583,7 +1584,7 @@
        static boost::intrusive_ptr<as_object> proto;
        if ( proto == NULL )
        {
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                VM::get().addStatic(proto.get());
 
                attachMovieClipInterface(*proto);

Index: server/video_stream_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/video_stream_instance.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- server/video_stream_instance.cpp    18 Aug 2007 16:12:38 -0000      1.35
+++ server/video_stream_instance.cpp    31 Aug 2007 21:53:31 -0000      1.36
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 // 
 
-// $Id: video_stream_instance.cpp,v 1.35 2007/08/18 16:12:38 strk Exp $
+// $Id: video_stream_instance.cpp,v 1.36 2007/08/31 21:53:31 strk Exp $
 
 #include "sprite_instance.h"
 #include "video_stream_instance.h"
@@ -29,6 +29,7 @@
 #include "Range2d.h"
 #include "builtin_function.h" // for getter/setter properties
 #include "VM.h"
+#include "Object.h"
 
 namespace gnash {
 
@@ -44,7 +45,7 @@
        static boost::intrusive_ptr<as_object> proto;
        if ( proto == NULL )
        {
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                VM::get().addStatic(proto.get());
 
                attachVideoInterface(*proto);

Index: server/asobj/Boolean.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Boolean.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- server/asobj/Boolean.cpp    1 Aug 2007 15:56:54 -0000       1.16
+++ server/asobj/Boolean.cpp    31 Aug 2007 21:53:31 -0000      1.17
@@ -28,6 +28,7 @@
 #include "builtin_function.h" // need builtin_function
 #include "GnashException.h"
 #include "VM.h" // for registering static GcResources (constructor and 
prototype)
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -48,7 +49,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                VM::get().addStatic(o.get());
 
                attachBooleanInterface(*o);

Index: server/asobj/Camera.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Camera.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/asobj/Camera.cpp     1 Jul 2007 10:54:26 -0000       1.8
+++ server/asobj/Camera.cpp     31 Aug 2007 21:53:31 -0000      1.9
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -51,7 +52,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachCameraInterface(*o);
        }
        return o.get();

Index: server/asobj/Color.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Color.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- server/asobj/Color.cpp      1 Jul 2007 10:54:26 -0000       1.11
+++ server/asobj/Color.cpp      31 Aug 2007 21:53:31 -0000      1.12
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -51,7 +52,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachColorInterface(*o);
        }
        return o.get();

Index: server/asobj/ContextMenu.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/ContextMenu.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- server/asobj/ContextMenu.cpp        1 Jul 2007 10:54:26 -0000       1.14
+++ server/asobj/ContextMenu.cpp        31 Aug 2007 21:53:31 -0000      1.15
@@ -28,6 +28,7 @@
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
 #include "GnashException.h"
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -117,7 +118,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachExportedInterface(*o);
        }
        return o.get();

Index: server/asobj/CustomActions.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/CustomActions.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/asobj/CustomActions.cpp      1 Jul 2007 10:54:27 -0000       1.9
+++ server/asobj/CustomActions.cpp      31 Aug 2007 21:53:31 -0000      1.10
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -51,7 +52,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachCustomActionsInterface(*o);
        }
        return o.get();

Index: server/asobj/Date.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Date.cpp,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- server/asobj/Date.cpp       29 Aug 2007 22:20:10 -0000      1.48
+++ server/asobj/Date.cpp       31 Aug 2007 21:53:31 -0000      1.49
@@ -84,6 +84,7 @@
 #include "fn_call.h"
 #include "GnashException.h"
 #include "builtin_function.h"
+#include "Object.h" // for getObjectInterface
 
 #include <ctime>
 #include <cmath>
@@ -319,7 +320,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( o == NULL )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachDateInterface(*o);
        }
        return o.get();

Index: server/asobj/Error.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Error.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/asobj/Error.cpp      1 Jul 2007 10:54:27 -0000       1.10
+++ server/asobj/Error.cpp      31 Aug 2007 21:53:31 -0000      1.11
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -47,7 +48,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachErrorInterface(*o);
        }
        return o.get();

Index: server/asobj/Key.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Key.cpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- server/asobj/Key.cpp        24 Jul 2007 14:19:31 -0000      1.30
+++ server/asobj/Key.cpp        31 Aug 2007 21:53:32 -0000      1.31
@@ -29,6 +29,7 @@
 #include "action.h" // for call_method
 #include "VM.h"
 #include "builtin_function.h"
+#include "Object.h" // for getObjectInterface()
 
 #include <boost/algorithm/string/case_conv.hpp>
 
@@ -43,6 +44,7 @@
 
 key_as_object::key_as_object()
     :
+    as_object(getObjectInterface()),
     m_last_key_pressed(0)
 {
     memset(m_unreleased_keys, 0, sizeof(m_unreleased_keys));

Index: server/asobj/LoadVars.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/LoadVars.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- server/asobj/LoadVars.cpp   2 Jul 2007 03:20:34 -0000       1.27
+++ server/asobj/LoadVars.cpp   31 Aug 2007 21:53:32 -0000      1.28
@@ -37,6 +37,7 @@
 #include "timers.h"
 #include "VM.h"
 #include "LoadVariablesThread.h"
+#include "Object.h" // for getObjectInterface
 
 #include <list>
 
@@ -336,7 +337,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachLoadVarsInterface(*o);
        }
        return o.get();

Index: server/asobj/Microphone.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Microphone.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/asobj/Microphone.cpp 1 Jul 2007 10:54:28 -0000       1.9
+++ server/asobj/Microphone.cpp 31 Aug 2007 21:53:32 -0000      1.10
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -53,7 +54,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachMicrophoneInterface(*o);
        }
        return o.get();

Index: server/asobj/Mouse.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Mouse.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- server/asobj/Mouse.cpp      8 Aug 2007 16:26:45 -0000       1.13
+++ server/asobj/Mouse.cpp      31 Aug 2007 21:53:32 -0000      1.14
@@ -28,6 +28,7 @@
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
 //#include "VM.h" // for registering static
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -54,7 +55,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachMouseInterface(*o);
        }
        return o.get();

Index: server/asobj/MovieClipLoader.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/MovieClipLoader.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- server/asobj/MovieClipLoader.cpp    2 Aug 2007 05:06:41 -0000       1.27
+++ server/asobj/MovieClipLoader.cpp    31 Aug 2007 21:53:32 -0000      1.28
@@ -34,6 +34,7 @@
 #include "log.h"
 #include "URL.h" // for url parsing
 #include "builtin_function.h"
+#include "Object.h" // for getObjectInterface
 
 #include <typeinfo> 
 #include <string>
@@ -78,7 +79,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( o == NULL )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                //log_msg(_("MovieClipLoader interface @ %p"), o.get());
                attachMovieClipLoaderInterface(*o);
        }

Index: server/asobj/NetConnection.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetConnection.cpp,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- server/asobj/NetConnection.cpp      1 Jul 2007 10:54:29 -0000       1.49
+++ server/asobj/NetConnection.cpp      31 Aug 2007 21:53:32 -0000      1.50
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: NetConnection.cpp,v 1.49 2007/07/01 10:54:29 bjacques Exp $ */
+/* $Id: NetConnection.cpp,v 1.50 2007/08/31 21:53:32 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -31,6 +31,7 @@
 #include "GnashException.h"
 #include "builtin_function.h"
 #include "movie_root.h"
+#include "Object.h" // for getObjectInterface
 
 #include "StreamProvider.h"
 #include "URLAccessManager.h"
@@ -347,7 +348,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( o == NULL )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                NetConnection::attachNetConnectionInterface(*o);
        }
 

Index: server/asobj/NetStream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.cpp,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -b -r1.69 -r1.70
--- server/asobj/NetStream.cpp  3 Aug 2007 20:54:47 -0000       1.69
+++ server/asobj/NetStream.cpp  31 Aug 2007 21:53:32 -0000      1.70
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: NetStream.cpp,v 1.69 2007/08/03 20:54:47 strk Exp $ */
+/* $Id: NetStream.cpp,v 1.70 2007/08/31 21:53:32 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -37,6 +37,7 @@
 #include "NetConnection.h"
 #include "action.h" // for call_method
 #include "render.h"    // for gnash::render::videoFrameFormat()
+#include "Object.h" // for getObjectInterface
 
 #include "movie_root.h"
 
@@ -422,7 +423,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( o == NULL )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachNetStreamInterface(*o);
        }
 
@@ -612,7 +613,7 @@
        // code, level
        std::pair<const char*, const char*> info = getStatusCodeInfo(code);
 
-       boost::intrusive_ptr<as_object> o = new as_object();
+       boost::intrusive_ptr<as_object> o = new as_object(getObjectInterface());
        o->init_member("code",  info.first,  1);
        o->init_member("level", info.second, 
as_prop_flags::dontDelete|as_prop_flags::dontEnum);
 

Index: server/asobj/Number.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Number.cpp,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- server/asobj/Number.cpp     1 Aug 2007 15:56:54 -0000       1.32
+++ server/asobj/Number.cpp     31 Aug 2007 21:53:32 -0000      1.33
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: Number.cpp,v 1.32 2007/08/01 15:56:54 strk Exp $ */
+/* $Id: Number.cpp,v 1.33 2007/08/31 21:53:32 strk Exp $ */
 
 #include "log.h"
 #include "tu_config.h"
@@ -28,6 +28,7 @@
 #include "as_value.h" // for doubleToString
 #include "builtin_function.h" // need builtin_function
 #include "VM.h" // for registering static GcResources (constructor and 
prototype)
+#include "Object.h" // for getObjectInterface
 
 #include <sstream>
 #include <cmath>
@@ -80,7 +81,7 @@
        static boost::intrusive_ptr<as_object> o=NULL;
        if ( o == NULL )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                VM::get().addStatic(o.get());
 
                attachNumberInterface(*o);

Index: server/asobj/Object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Object.cpp,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- server/asobj/Object.cpp     8 Aug 2007 20:17:28 -0000       1.26
+++ server/asobj/Object.cpp     31 Aug 2007 21:53:32 -0000      1.27
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: Object.cpp,v 1.26 2007/08/08 20:17:28 strk Exp $ */
+/* $Id: Object.cpp,v 1.27 2007/08/31 21:53:32 strk Exp $ */
 
 #include "tu_config.h"
 #include "Object.h"
@@ -79,7 +79,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( o == NULL )
        {
-               o = new as_object();
+               o = new as_object(); // end of the inheritance chain
                attachObjectInterface(*o);
                o->set_prototype(o.get());
        }

Index: server/asobj/Selection.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Selection.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/asobj/Selection.cpp  1 Jul 2007 10:54:30 -0000       1.10
+++ server/asobj/Selection.cpp  31 Aug 2007 21:53:32 -0000      1.11
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -59,7 +60,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachSelectionInterface(*o);
        }
        return o.get();
@@ -129,7 +130,7 @@
 {
        // Selection is NOT a class, but a simple object, see Selection.as
 
-       static boost::intrusive_ptr<as_object> obj = new as_object();
+       static boost::intrusive_ptr<as_object> obj = new 
as_object(getObjectInterface());
        attachSelectionInterface(*obj);
        global.init_member("Selection", obj.get());
 

Index: server/asobj/SharedObject.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/SharedObject.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- server/asobj/SharedObject.cpp       1 Jul 2007 10:54:30 -0000       1.11
+++ server/asobj/SharedObject.cpp       31 Aug 2007 21:53:32 -0000      1.12
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -58,7 +59,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachSharedObjectInterface(*o);
        }
        return o.get();

Index: server/asobj/Sound.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Sound.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- server/asobj/Sound.cpp      1 Jul 2007 10:54:30 -0000       1.19
+++ server/asobj/Sound.cpp      31 Aug 2007 21:53:32 -0000      1.20
@@ -29,6 +29,7 @@
 #include "fn_call.h"
 #include "GnashException.h"
 #include "builtin_function.h"
+#include "Object.h" // for getObjectInterface
 
 #ifdef SOUND_GST
 #include "SoundGst.h"
@@ -556,7 +557,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( o == NULL )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachSoundInterface(*o);
        }
 

Index: server/asobj/Stage.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Stage.cpp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- server/asobj/Stage.cpp      3 Aug 2007 22:04:25 -0000       1.19
+++ server/asobj/Stage.cpp      31 Aug 2007 21:53:32 -0000      1.20
@@ -28,6 +28,7 @@
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
 #include "VM.h"
+#include "Object.h" // for getObjectInterface()
 
 #include <string>
 #include <boost/algorithm/string/case_conv.hpp> // for using PROPNAME
@@ -60,6 +61,7 @@
 
 Stage::Stage()
        :
+       as_object(getObjectInterface()),
        _scaleMode(showAll)
 {
        attachStageInterface(*this);

Index: server/asobj/System.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/System.cpp,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- server/asobj/System.cpp     1 Jul 2007 10:54:31 -0000       1.14
+++ server/asobj/System.cpp     31 Aug 2007 21:53:32 -0000      1.15
@@ -26,6 +26,7 @@
 #include "fn_call.h"
 #include "builtin_function.h"
 #include "VM.h" // for getPlayerVersion() 
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -75,7 +76,7 @@
        static boost::intrusive_ptr<as_object> proto;
        if ( proto == NULL )
        {
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                proto->init_member("allowDomain", new 
builtin_function(system_security_allowdomain));
 
                // TODO: only available when SWF >= 7 
@@ -92,7 +93,7 @@
        static boost::intrusive_ptr<as_object> proto;
        if ( proto == NULL )
        {
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                proto->init_member("version", VM::get().getPlayerVersion() );
        }
        return proto.get();
@@ -114,7 +115,7 @@
        static boost::intrusive_ptr<as_object> proto;
        if ( proto == NULL )
        {
-               proto = new as_object();
+               proto = new as_object(getObjectInterface());
                attachSystemInterface(*proto);
                //proto->init_member("constructor", new 
builtin_function(system_new)); 
        }
@@ -165,7 +166,7 @@
 {
        // _global.System is NOT a class, but a simple object, see System.as
 
-       static boost::intrusive_ptr<as_object> obj = new as_object();
+       static boost::intrusive_ptr<as_object> obj = new 
as_object(getObjectInterface());
        attachSystemInterface(*obj);
        global.init_member("System", obj.get());
 }

Index: server/asobj/TextSnapshot.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/TextSnapshot.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/asobj/TextSnapshot.cpp       1 Jul 2007 10:54:31 -0000       1.10
+++ server/asobj/TextSnapshot.cpp       31 Aug 2007 21:53:32 -0000      1.11
@@ -27,6 +27,7 @@
 #include "fn_call.h"
 #include "smart_ptr.h" // for boost intrusive_ptr
 #include "builtin_function.h" // need builtin_function
+#include "Object.h" // for getObjectInterface
 
 namespace gnash {
 
@@ -62,7 +63,7 @@
        static boost::intrusive_ptr<as_object> o;
        if ( ! o )
        {
-               o = new as_object();
+               o = new as_object(getObjectInterface());
                attachTextSnapshotInterface(*o);
        }
        return o.get();

Index: server/asobj/string.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/string.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- server/asobj/string.cpp     25 Aug 2007 23:11:00 -0000      1.35
+++ server/asobj/string.cpp     31 Aug 2007 21:53:32 -0000      1.36
@@ -16,7 +16,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: string.cpp,v 1.35 2007/08/25 23:11:00 strk Exp $ */
+/* $Id: string.cpp,v 1.36 2007/08/31 21:53:32 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -31,8 +31,10 @@
 #include "array.h"
 #include "as_value.h"
 #include "GnashException.h"
-#include <boost/algorithm/string/case_conv.hpp>
 #include "VM.h" // for registering static GcResources (constructor and 
prototype)
+#include "Object.h" // for getObjectInterface
+
+#include <boost/algorithm/string/case_conv.hpp>
 
 #define ENSURE_FN_ARGS(min, max, rv)                                    \
     if (fn.nargs < min) {                                               \
@@ -100,7 +102,7 @@
 
     if ( o == NULL )
     {
-        o = new as_object();
+        o = new as_object(getObjectInterface());
        VM::get().addStatic(o.get());
 
         attachStringInterface(*o);

Index: server/asobj/xmlnode.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlnode.cpp,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -b -r1.38 -r1.39
--- server/asobj/xmlnode.cpp    4 Aug 2007 04:19:29 -0000       1.38
+++ server/asobj/xmlnode.cpp    31 Aug 2007 21:53:32 -0000      1.39
@@ -16,7 +16,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: xmlnode.cpp,v 1.38 2007/08/04 04:19:29 strk Exp $ */
+/* $Id: xmlnode.cpp,v 1.39 2007/08/31 21:53:32 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -29,6 +29,9 @@
 #include "array.h" // for childNodes
 #include "xmlnode.h"
 #include "log.h"
+#include "Object.h" // for getObjectInterface
+
+#include <boost/algorithm/string/case_conv.hpp>
 
 #include <string>
 #include <sstream>
@@ -422,7 +425,7 @@
 {
     static boost::intrusive_ptr<as_object> o;
     if ( o == NULL ) {
-        o = new as_object();
+        o = new as_object(getObjectInterface());
         attachXMLNodeInterface(*o);
     }
     return o.get();
@@ -632,7 +635,7 @@
     boost::intrusive_ptr<XMLNode> ptr = ensureType<XMLNode>(fn.this_ptr);
 
     XMLNode::AttribList& attrs = ptr->attributes();
-    boost::intrusive_ptr<as_object> ret = new as_object();
+    boost::intrusive_ptr<as_object> ret = new as_object(getObjectInterface());
     for (XMLNode::AttribList::const_iterator it=attrs.begin(),
          itEnd=attrs.end(); it != itEnd; ++it) {
 

Index: server/asobj/xmlsocket.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlsocket.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- server/asobj/xmlsocket.cpp  2 Jul 2007 03:20:34 -0000       1.31
+++ server/asobj/xmlsocket.cpp  31 Aug 2007 21:53:32 -0000      1.32
@@ -31,6 +31,7 @@
 #include "VM.h"
 #include "builtin_function.h" // for setting timer, should likely avoid that..
 #include "URLAccessManager.h"
+#include "Object.h" // for getObjectInterface
 
 #include "log.h"
 
@@ -592,7 +593,7 @@
     static boost::intrusive_ptr<as_object> o;
     if ( o == NULL )
     {
-        o = new as_object();
+        o = new as_object(getObjectInterface());
         attachXMLSocketInterface(*o);
     }
     return o.get();

Index: testsuite/actionscript.all/Function.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Function.as,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -b -r1.53 -r1.54
--- testsuite/actionscript.all/Function.as      2 Aug 2007 19:10:51 -0000       
1.53
+++ testsuite/actionscript.all/Function.as      31 Aug 2007 21:53:33 -0000      
1.54
@@ -21,10 +21,14 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: Function.as,v 1.53 2007/08/02 19:10:51 strk Exp $";
+rcsid="$Id: Function.as,v 1.54 2007/08/31 21:53:33 strk Exp $";
 
 #include "check.as"
 
+#if OUTPUT_VERSION > 6
+check_equals(Function.prototype.__proto__, Object.prototype);
+#endif
+
 // Define a function returning 'this'.name and the given args
 function getThisName(a,b,c) { return this.name+a+b+c; }
 

Index: testsuite/actionscript.all/Global.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Global.as,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- testsuite/actionscript.all/Global.as        26 Jul 2007 03:41:18 -0000      
1.26
+++ testsuite/actionscript.all/Global.as        31 Aug 2007 21:53:33 -0000      
1.27
@@ -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.26 2007/07/26 03:41:18 strk Exp $";
+rcsid="$Id: Global.as,v 1.27 2007/08/31 21:53:33 strk Exp $";
 
 #include "check.as"
 
@@ -37,9 +37,9 @@
 // odd stuff.. not every value of type 'object' is an instance of Object :!!
 check_equals(typeof(_global), 'object');
 check_equals(typeof(_global._global), 'undefined');
-xcheck( ! _global instanceof Object );
-xcheck_equals( typeof(_global.__proto__), 'undefined' );
-xcheck_equals(typeof(_global.toString), 'undefined');
+check( ! _global instanceof Object );
+check_equals( typeof(_global.__proto__), 'undefined' );
+check_equals(typeof(_global.toString), 'undefined');
 
 #else
 check_equals ( typeof(_global.parseInt), 'undefined' );
@@ -47,7 +47,7 @@
 
 check_equals(typeof(isNaN), 'function');
 #if OUTPUT_VERSION > 5
-xcheck(!_global.hasOwnProperty('isNaN'));
+check(!_global.hasOwnProperty('isNaN'));
 #endif
 
 // Test parseInt

Index: testsuite/actionscript.all/MovieClip.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/MovieClip.as,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -b -r1.86 -r1.87
--- testsuite/actionscript.all/MovieClip.as     30 Aug 2007 13:49:57 -0000      
1.86
+++ testsuite/actionscript.all/MovieClip.as     31 Aug 2007 21:53:33 -0000      
1.87
@@ -20,7 +20,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: MovieClip.as,v 1.86 2007/08/30 13:49:57 strk Exp $";
+rcsid="$Id: MovieClip.as,v 1.87 2007/08/31 21:53:33 strk Exp $";
 
 #include "check.as"
 
@@ -49,6 +49,8 @@
 check_equals(mc.__proto__, MovieClip.prototype);
 check_equals(typeof(MovieClip.prototype._width), "undefined");
 check_equals(typeof(MovieClip.prototype.attachMovie), "function");
+check_equals(typeof(MovieClip.prototype.__proto__), "object");
+check_equals(MovieClip.prototype.__proto__, Object.prototype);
 check_equals(typeof(mc._width), "number");
 
 // Check methods existance

Index: testsuite/actionscript.all/TextField.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/TextField.as,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- testsuite/actionscript.all/TextField.as     29 Aug 2007 18:50:20 -0000      
1.20
+++ testsuite/actionscript.all/TextField.as     31 Aug 2007 21:53:33 -0000      
1.21
@@ -19,7 +19,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: TextField.as,v 1.20 2007/08/29 18:50:20 strk Exp $";
+rcsid="$Id: TextField.as,v 1.21 2007/08/31 21:53:33 strk Exp $";
 
 #include "check.as"
 
@@ -27,6 +27,8 @@
 
 check_equals(typeof(TextField), 'function');
 check_equals(typeof(TextField.prototype), 'object');
+check_equals(typeof(TextField.prototype.__proto__), 'object');
+check_equals(TextField.prototype.__proto__, Object.prototype);
 check_equals(typeof(TextField.prototype.setTextFormat), 'function');
 check_equals(typeof(TextField.prototype.getTextFormat), 'function');
 check_equals(typeof(TextField.prototype.setNewTextFormat), 'function');

Index: testsuite/actionscript.all/Video.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/Video.as,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- testsuite/actionscript.all/Video.as 26 Jul 2007 03:41:20 -0000      1.11
+++ testsuite/actionscript.all/Video.as 31 Aug 2007 21:53:33 -0000      1.12
@@ -20,7 +20,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: Video.as,v 1.11 2007/07/26 03:41:20 strk Exp $";
+rcsid="$Id: Video.as,v 1.12 2007/08/31 21:53:33 strk Exp $";
 
 #include "check.as"
 
@@ -33,6 +33,8 @@
 // test Video class an interface availability
 check_equals(typeof(Video), 'function');
 check_equals(typeof(Video.prototype), 'object');
+check_equals(typeof(Video.prototype.__proto__), 'object');
+check_equals(Video.prototype.__proto__, Object.prototype);
 check_equals(typeof(Video.prototype.attachVideo), 'function');
 check_equals(typeof(Video.prototype.clear), 'function');
 

Index: testsuite/actionscript.all/array.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/array.as,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- testsuite/actionscript.all/array.as 31 Aug 2007 17:07:36 -0000      1.31
+++ testsuite/actionscript.all/array.as 31 Aug 2007 21:53:33 -0000      1.32
@@ -1,16 +1,31 @@
-// Mike Carlson's test program for actionscript arrays
-// (initialization, 
-// Jan. 17th, 2006
+// 
+//   Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+//
 
-// Updated with sort functions, and to use check() macro
-// by Mike Carlson Feb. 14th, 2006
+// Initial test written by Mike Carlson
 
-rcsid="$Id: array.as,v 1.31 2007/08/31 17:07:36 strk Exp $";
+rcsid="$Id: array.as,v 1.32 2007/08/31 21:53:33 strk Exp $";
 
 #include "check.as"
 
 check_equals(typeof(Array), 'function');
 check_equals(typeof(Array.prototype), 'object');
+check_equals(typeof(Array.prototype.__proto__), 'object');
+check_equals(Array.prototype.__proto__, Object.prototype);
 check_equals(typeof(Array.prototype.concat), 'function');
 check_equals(typeof(Array.prototype.join), 'function');
 check_equals(typeof(Array.prototype.pop), 'function');

Index: testsuite/swfdec/PASSING
===================================================================
RCS file: /sources/gnash/gnash/testsuite/swfdec/PASSING,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -b -r1.26 -r1.27
--- testsuite/swfdec/PASSING    25 Aug 2007 23:11:01 -0000      1.26
+++ testsuite/swfdec/PASSING    31 Aug 2007 21:53:33 -0000      1.27
@@ -99,3 +99,97 @@
 string-split-empty-5.swf
 string-split-empty-6.swf
 string-split-empty-7.swf
+ASSetPropFlags-ignore-8.swf
+abort-really-aborts-5.swf
+addProperty-5.swf
+addProperty-delete-5.swf
+addProperty-flags-5.swf
+addProperty-get-prototypes-5.swf
+addProperty-set-prototypes-5.swf
+asbroadcaster-broadcastMessage-retval-5.swf
+asbroadcaster-listeners-5.swf
+asbroadcaster-listeners-6.swf
+asbroadcaster-listeners-7.swf
+asbroadcaster-listeners-8.swf
+asbroadcaster-override-5.swf
+clonesprite-depths-5.swf
+clonesprite-depths-6.swf
+clonesprite-depths-7.swf
+clonesprite-depths-8.swf
+construct-constructors-5.swf
+construct-constructors-6.swf
+construct-constructors-7.swf
+construct-constructors-8.swf
+crash-0.5.2-startdrag.swf
+definelocal-function-target-5.swf
+definelocal-function-target-6.swf
+definelocal-function-target-7.swf
+definelocal-target-5.swf
+definelocal-target-6.swf
+definelocal-target-7.swf
+duplicate-names-5.swf
+duplicate-names-6.swf
+duplicate-names-7.swf
+extends-constructors-6.swf
+extends-constructors-7.swf
+extends-constructors-8.swf
+forin-delete-5.swf
+forin-delete-6.swf
+forin-delete-7.swf
+loadvars-5.swf
+math-constants-5.swf
+math-constants-6.swf
+math-constants-7.swf
+mouse-scaled-5.swf
+object-math-6.swf
+object-valueof-5.swf
+onresize-5.swf
+onresize-6.swf
+onresize-7.swf
+onresize-8.swf
+property-native-5.swf
+remove-depths-5.swf
+removesprite-depths-5.swf
+removesprite-depths-6.swf
+removesprite-depths-7.swf
+rotation2-5.swf
+round-direction-5.swf
+round-direction-6.swf
+round-direction-7.swf
+round-direction-8.swf
+setvariable-function-5.swf
+setvariable-function-6.swf
+setvariable-function-7.swf
+setvariable-function-target-5.swf
+setvariable-function-target-6.swf
+setvariable-function-target-7.swf
+stack-segment-5.swf
+stack-segment-6.swf
+stack-segment-7.swf
+stack-segment-8.swf
+stack-segments2-5.swf
+stack-segments2-6.swf
+stack-segments2-7.swf
+stack-segments2-8.swf
+stage-size-6.swf
+stage-size-7.swf
+stage-size-8.swf
+stringlength-5.swf
+super-calls-5.swf
+super-different-5.swf
+super-equals-this-5.swf
+super-equals-this-6.swf
+super-equals-this-7.swf
+super-equals-this-8.swf
+super-missing-5.swf
+targetpath-5.swf
+targetpath-6.swf
+targetpath-7.swf
+this-localfunction-5.swf
+this-localfunction-6.swf
+this-localfunction-7.swf
+this-localfunction-8.swf
+with-outobject-5.swf
+with-outobject-6.swf
+with-outobject-7.swf
+with-outobject-8.swf




reply via email to

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