gnash-commit
[Top][All Lists]
Advanced

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

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


From: Benjamin Wolsey
Subject: [Gnash-commit] gnash ChangeLog server/asobj/Global.cpp server/...
Date: Wed, 16 Apr 2008 09:26:28 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Benjamin Wolsey <bwy>   08/04/16 09:26:28

Modified files:
        .              : ChangeLog 
        server/asobj   : Global.cpp GMath.h Math.cpp 

Log message:
                * server/asobj/{GMath.h,Math.cpp}: split registering native
                  functions into a separate method (registerMathNative), which
                  must be called at startup (logical enough...), or at least
                  before the Math class is initialized.
                * server/asobj/Global.cpp: register Math ASnative functions
                  at startup for SWF4+. Return to loading Math class on demand.
                  Notify ClassHierarchy about Date initialization (though this
                  can be reverted if Date ASnatives are initialized separately).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6292&r2=1.6293
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Global.cpp?cvsroot=gnash&r1=1.112&r2=1.113
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/GMath.h?cvsroot=gnash&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Math.cpp?cvsroot=gnash&r1=1.31&r2=1.32

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6292
retrieving revision 1.6293
diff -u -b -r1.6292 -r1.6293
--- ChangeLog   16 Apr 2008 08:58:45 -0000      1.6292
+++ ChangeLog   16 Apr 2008 09:26:27 -0000      1.6293
@@ -1,3 +1,14 @@
+2008-04-16 Benjamin Wolsey <address@hidden>
+       
+       * server/asobj/{GMath.h,Math.cpp}: split registering native
+         functions into a separate method (registerMathNative), which
+         must be called at startup (logical enough...), or at least
+         before the Math class is initialized.
+       * server/asobj/Global.cpp: register Math ASnative functions
+         at startup for SWF4+. Return to loading Math class on demand.
+         Notify ClassHierarchy about Date initialization (though this
+         can be reverted if Date ASnatives are initialized separately).
+
 2008-04-16 Sandro Santilli <address@hidden>
 
        * testsuite/misc-ming.all/ButtonEventsTest.c: self-contain
@@ -5,7 +16,6 @@
          is more explicitly visible now (gets an additional
          unexpected MOUSEOUT event when MOUSEUPOUTSIDE is expected).
 
-
 2008-04-16 Sandro Santilli <address@hidden>
 
        * testsuite/misc-ming.all/: ButtonEventsTest-Runner.cpp,

Index: server/asobj/Global.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Global.cpp,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -b -r1.112 -r1.113
--- server/asobj/Global.cpp     16 Apr 2008 07:27:08 -0000      1.112
+++ server/asobj/Global.cpp     16 Apr 2008 09:26:28 -0000      1.113
@@ -586,6 +586,11 @@
        // SWF4
        //-----------------------
 
+    // The Math class was available from SWF4. It
+    // is initialized on demand, and the native
+    // functions *must* be registered before this.
+       registerMathNative(*this);
+
        init_member("trace", new builtin_function(as_global_trace));
 
        if ( vm.getSWFVersion() < 5 ) goto extscan;
@@ -617,8 +622,10 @@
     // to register ASnative functions
        color_class_init(*this);
        textformat_class_init(*this);
-       math_class_init(*this);
+
        date_class_init(*this);
+       ch->getGlobalNs()->stubPrototype(NSV::CLASS_DATE);
+       ch->getGlobalNs()->getClass(NSV::CLASS_DATE)->setDeclared();
 
        if ( vm.getSWFVersion() < 6 ) goto extscan;
        //-----------------------

Index: server/asobj/GMath.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/GMath.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- server/asobj/GMath.h        15 Apr 2008 07:55:23 -0000      1.20
+++ server/asobj/GMath.h        16 Apr 2008 09:26:28 -0000      1.21
@@ -55,6 +55,7 @@
 
 // Math isn't a proper class, so doesn't need a constructor.
 
+void registerMathNative(as_object& global);
 void math_class_init(as_object& global);
 
 } // end of gnash namespace

Index: server/asobj/Math.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Math.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- server/asobj/Math.cpp       15 Apr 2008 10:27:17 -0000      1.31
+++ server/asobj/Math.cpp       16 Apr 2008 09:26:28 -0000      1.32
@@ -179,6 +179,30 @@
 }
 
 
+void registerMathNative(as_object& proto)
+{
+    VM& vm = proto.getVM();
+    
+    vm.registerNative(math_fabs, 200, 0);
+    vm.registerNative(math_min, 200, 1);
+    vm.registerNative(math_max, 200, 2);
+    vm.registerNative(math_sin, 200, 3);
+    vm.registerNative(math_cos, 200, 4);
+    vm.registerNative(math_atan2, 200, 5);
+    vm.registerNative(math_tan, 200, 6);
+    vm.registerNative(math_exp, 200, 7);
+    vm.registerNative(math_log, 200, 8);
+    vm.registerNative(math_sqrt, 200, 9);
+    vm.registerNative(math_round, 200, 10);
+    vm.registerNative(math_random, 200, 11);
+    vm.registerNative(math_floor, 200, 12);
+    vm.registerNative(math_ceil, 200, 13);
+    vm.registerNative(math_atan, 200, 14);
+    vm.registerNative(math_asin, 200, 15);
+    vm.registerNative(math_acos, 200, 16);
+    vm.registerNative(math_pow, 200, 17);
+}
+
 void
 attachMathInterface(as_object& proto)
 {
@@ -202,41 +226,23 @@
 
     VM& vm = proto.getVM();
     
-    vm.registerNative(math_fabs, 200, 0);
     proto.init_member("abs", vm.getNative(200, 0), flags);
-    vm.registerNative(math_min, 200, 1);
     proto.init_member("min", vm.getNative(200, 1), flags);
-    vm.registerNative(math_max, 200, 2);
     proto.init_member("max", vm.getNative(200, 2), flags);
-    vm.registerNative(math_sin, 200, 3);
     proto.init_member("sin", vm.getNative(200, 3), flags);
-    vm.registerNative(math_cos, 200, 4);
     proto.init_member("cos", vm.getNative(200, 4), flags);
-    vm.registerNative(math_atan2, 200, 5);
     proto.init_member("atan2", vm.getNative(200, 5), flags);
-    vm.registerNative(math_tan, 200, 6);
     proto.init_member("tan", vm.getNative(200, 6), flags);
-    vm.registerNative(math_exp, 200, 7);
     proto.init_member("exp", vm.getNative(200, 7), flags);
-    vm.registerNative(math_log, 200, 8);
     proto.init_member("log", vm.getNative(200, 8), flags);
-    vm.registerNative(math_sqrt, 200, 9);
     proto.init_member("sqrt", vm.getNative(200, 9), flags);
-    vm.registerNative(math_round, 200, 10);
     proto.init_member("round", vm.getNative(200, 10), flags);
-    vm.registerNative(math_random, 200, 11);
     proto.init_member("random", vm.getNative(200, 11), flags);
-    vm.registerNative(math_floor, 200, 12);
     proto.init_member("floor", vm.getNative(200, 12), flags);
-    vm.registerNative(math_ceil, 200, 13);
     proto.init_member("ceil", vm.getNative(200, 13), flags);
-    vm.registerNative(math_atan, 200, 14);
     proto.init_member("atan", vm.getNative(200, 14), flags);
-    vm.registerNative(math_asin, 200, 15);
     proto.init_member("asin", vm.getNative(200, 15), flags);
-    vm.registerNative(math_acos, 200, 16);
        proto.init_member("acos", vm.getNative(200, 16), flags);
-    vm.registerNative(math_pow, 200, 17);
     proto.init_member("pow", vm.getNative(200, 17), flags);
 }
 




reply via email to

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