gnash-commit
[Top][All Lists]
Advanced

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

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


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/Global.cpp server/array....
Date: Thu, 06 Jul 2006 08:57:06 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/07/06 08:57:06

Modified files:
        .              : ChangeLog 
        server         : Global.cpp array.cpp array.h 

Log message:
        had Array unimplemented methods print an ERROR with -v, renamed 
array_init  to array_class_init and change signature to take by-ref.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.471&r2=1.472
http://cvs.savannah.gnu.org/viewcvs/gnash/server/Global.cpp?cvsroot=gnash&r1=1.17&r2=1.18
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.cpp?cvsroot=gnash&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/gnash/server/array.h?cvsroot=gnash&r1=1.10&r2=1.11

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.471
retrieving revision 1.472
diff -u -b -r1.471 -r1.472
--- ChangeLog   6 Jul 2006 08:19:12 -0000       1.471
+++ ChangeLog   6 Jul 2006 08:57:06 -0000       1.472
@@ -1,5 +1,9 @@
 2006-07-06 Sandro Santilli <address@hidden>
 
+       * server/Global.cpp, server/array.cpp, server/array.h:
+       had Array unimplemented methods print an ERROR with -v,
+       renamed array_init  to array_class_init and change signature
+       to take by-ref.
        * server/array.cpp: most functions made module-statics, indentation
        * testsuite/actionscript.all/array.as: "tostring" => "toString"
        (SWF 7 and up are case-sensitive in this); added tests for

Index: server/Global.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/Global.cpp,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- server/Global.cpp   5 Jul 2006 23:56:08 -0000       1.17
+++ server/Global.cpp   6 Jul 2006 08:57:06 -0000       1.18
@@ -554,14 +554,13 @@
        // isFinite
        set_member("isFinite", as_global_isfinite);
 
-       string_class_init(*this); //set_member("String", as_value(string_ctor));
+       string_class_init(*this); 
+       array_class_init(*this);
        function_init(this);
        movieclip_init(this);
        math_init(this);
        key_init(this);
        system_init(this);
-       array_init(this);
-       //set_member("Array", as_value(array_new));
 }
 
 

Index: server/array.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/array.cpp,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- server/array.cpp    6 Jul 2006 08:19:12 -0000       1.29
+++ server/array.cpp    6 Jul 2006 08:57:06 -0000       1.30
@@ -285,17 +285,35 @@
 }
 
 
-// Callback for unimplemented functions
 static void
-array_not_impl(const fn_call& fn)
+array_splice(const fn_call& fn)
 {
        assert(dynamic_cast<as_array_object*>(fn.this_ptr));
        //as_array_object* array = static_cast<as_array_object*>(fn.this_ptr);
 
-       log_action("ERROR: array method not implemented yet!\n");
+       log_error("Array.splice() method not implemented yet!\n");
+}
+
+static void
+array_sort(const fn_call& fn)
+{
+       assert(dynamic_cast<as_array_object*>(fn.this_ptr));
+       //as_array_object* array = static_cast<as_array_object*>(fn.this_ptr);
+
+       log_error("Array.sort() method not implemented yet!\n");
+}
+
+static void
+array_sortOn(const fn_call& fn)
+{
+       assert(dynamic_cast<as_array_object*>(fn.this_ptr));
+       //as_array_object* array = static_cast<as_array_object*>(fn.this_ptr);
+
+       log_error("Array.sortOn() method not implemented yet!\n");
 }
 
 // Callback to report array length
+#if 0 // replaced by get_member override
 static void
 array_length(const fn_call& fn)
 {
@@ -307,6 +325,7 @@
 
        fn.result->set_int(array->size());
 }
+#endif
 
 // Callback to push values to the back of an array
 static void
@@ -581,9 +600,9 @@
        proto->set_member("unshift", &array_unshift);
        proto->set_member("pop", &array_pop);
        proto->set_member("shift", &array_shift);
-       proto->set_member("splice", &array_not_impl);
-       proto->set_member("sort", &array_not_impl);
-       proto->set_member("sortOn", &array_not_impl);
+       proto->set_member("splice", &array_splice);
+       proto->set_member("sort", &array_sort);
+       proto->set_member("sortOn", &array_sortOn);
        proto->set_member("reverse", &array_reverse);
        proto->set_member("toString", &array_to_string);
        proto->set_member("CASEINSENSITIVE", 1);
@@ -611,7 +630,7 @@
 // 'constructor'
 //
 void
-array_init(as_object* glob)
+array_class_init(as_object& glob)
 {
        // This is going to be the global Array "class"/"function"
        static as_function* ar=NULL;
@@ -629,7 +648,7 @@
        }
 
        // Register _global.Array
-       glob->set_member("Array", ar);
+       glob.set_member("Array", ar);
 }
 
 

Index: server/array.h
===================================================================
RCS file: /sources/gnash/gnash/server/array.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/array.h      6 Jul 2006 08:19:12 -0000       1.10
+++ server/array.h      6 Jul 2006 08:57:06 -0000       1.11
@@ -39,20 +39,25 @@
 #ifndef GNASH_ARRAY_H
 #define GNASH_ARRAY_H
 
-#include "action.h"
+//#include "action.h"
+#include "as_object.h" // for inheritance
 #include <deque>
 #include <memory> // for auto_ptr
 
-namespace gnash {
+#include <string>
 
-       class as_array_object;
+// Forward declarations
+namespace gnash {
+       class fn_call;
+       class as_value;
+}
 
-       void array_init(as_object* global);
+namespace gnash {
 
-       /// The Array ActionScript object
-       class as_array_object : public as_object
-       {
-       public:
+/// The Array ActionScript object
+class as_array_object : public as_object
+{
+public:
 
                as_array_object();
 
@@ -90,7 +95,7 @@
                virtual void set_member(const tu_stringi& name,
                        const as_value& val );
 
-       private:
+private:
 
                std::deque<as_value> elements;
 
@@ -99,11 +104,17 @@
                // if the string does not refer to an index, or an appropriate 
int if the string does refer to an index
                int index_requested(const tu_stringi& name);
 
-       };
+};
+
+
+/// Initialize the global.Array object
+// needed by SWFHandlers::ActionInitArray
+void array_class_init(as_object& global);
+
+/// Constructor for ActionScript class Array.
+// needed by SWFHandlers::ActionInitArray
+void   array_new(const fn_call& fn);
 
-       /// Constructor for ActionScript class Array.
-       // needed by SWFHandlers::ActionInitArray
-       void    array_new(const fn_call& fn);
 };
 
 #endif




reply via email to

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