[Top][All Lists]
[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