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: Thu, 02 Aug 2007 21:14:36 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/08/02 21:14:35

Modified files:
        .              : ChangeLog 
        server         : array.cpp as_function.cpp 

Log message:
                * server/array.cpp: register static constructor and prototype,
                  since arrays are used by the core independentely of their
                  availability as global classes (function arguments are 
arrays).
                * server/as_function.cpp: register static constructor and 
prototype,
                  since functions are used by the core independently of their
                  availability as global classes (each function uses the 
Function
                  prototype).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.3922&r2=1.3923
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.68&r2=1.69
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_function.cpp?cvsroot=gnash&r1=1.35&r2=1.36

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.3922
retrieving revision 1.3923
diff -u -b -r1.3922 -r1.3923
--- ChangeLog   2 Aug 2007 21:08:01 -0000       1.3922
+++ ChangeLog   2 Aug 2007 21:14:35 -0000       1.3923
@@ -1,5 +1,15 @@
 2007-08-02 Sandro Santilli <address@hidden>
 
+       * server/array.cpp: register static constructor and prototype,
+         since arrays are used by the core independentely of their
+         availability as global classes (function arguments are arrays).
+       * server/as_function.cpp: register static constructor and prototype,
+         since functions are used by the core independently of their
+         availability as global classes (each function uses the Function
+         prototype).
+
+2007-08-02 Sandro Santilli <address@hidden>
+
        * testsuite/actionscript.all/ops.as: more tests for 'string' == NaN.
        * server/as_value.cpp (equals): yet another pass at
          abstract equality operator. We're still not there, but

Index: server/array.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/array.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- server/array.cpp    31 Jul 2007 02:39:05 -0000      1.68
+++ server/array.cpp    2 Aug 2007 21:14:35 -0000       1.69
@@ -1335,6 +1335,8 @@
        if ( proto == NULL )
        {
                proto = new as_object();
+               VM::get().addStatic(proto.get());
+
                attachArrayInterface(*proto);
        }
        return proto.get();
@@ -1354,6 +1356,7 @@
        if ( ar == NULL )
        {
                ar = new builtin_function(&array_new, getArrayInterface());
+               VM::get().addStatic(ar.get());
 
                // We replicate interface to the Array class itself
                attachArrayInterface(*ar);

Index: server/as_function.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_function.cpp,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -b -r1.35 -r1.36
--- server/as_function.cpp      1 Jul 2007 10:54:20 -0000       1.35
+++ server/as_function.cpp      2 Aug 2007 21:14:35 -0000       1.36
@@ -71,8 +71,10 @@
        static boost::intrusive_ptr<as_object> proto;
 
        if ( proto.get() == NULL ) {
+
                // Initialize Function prototype
                proto = new as_object();
+               VM::get().addStatic(proto.get());
 
                if ( VM::get().getSWFVersion() >= 6 )
                {
@@ -154,10 +156,15 @@
 boost::intrusive_ptr<builtin_function>
 as_function::getFunctionConstructor()
 {
-       static boost::intrusive_ptr<builtin_function> func=new builtin_function(
+       static boost::intrusive_ptr<builtin_function> func = NULL;
+       if ( ! func )
+       {
+               func = new builtin_function(
                function_ctor, // function constructor doesn't do anything
                getFunctionPrototype() // exported interface
                );
+               VM::get().addStatic(func.get());
+       }
        return func;
 }
 




reply via email to

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