gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/PropertyList.h server/as...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/PropertyList.h server/as...
Date: Fri, 24 Nov 2006 15:41:15 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/11/24 15:41:14

Modified files:
        .              : ChangeLog 
        server         : PropertyList.h as_object.cpp 
        server/asobj   : Date.cpp 

Log message:
                * server/asobj/Date.cpp: use proper case when registering class
                  interface.
                * server/PropertyList.h: be case sensitive !
                * server/as_object.cpp (set_member_default, get_member_default):
                  convert memer names to lowercase when VM is targetted at
                  SWF version < 7.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1744&r2=1.1745
http://cvs.savannah.gnu.org/viewcvs/gnash/server/PropertyList.h?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_object.cpp?cvsroot=gnash&r1=1.16&r2=1.17
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/Date.cpp?cvsroot=gnash&r1=1.4&r2=1.5

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1744
retrieving revision 1.1745
diff -u -b -r1.1744 -r1.1745
--- ChangeLog   24 Nov 2006 14:50:30 -0000      1.1744
+++ ChangeLog   24 Nov 2006 15:41:14 -0000      1.1745
@@ -1,5 +1,14 @@
 2006-11-24 Sandro Santilli <address@hidden>
 
+       * server/asobj/Date.cpp: use proper case when registering class
+         interface.
+       * server/PropertyList.h: be case sensitive !
+       * server/as_object.cpp (set_member_default, get_member_default):
+         convert memer names to lowercase when VM is targetted at
+         SWF version < 7.
+
+2006-11-24 Sandro Santilli <address@hidden>
+
        * server: as_environment.cpp, as_function.cpp, as_function.h,
          impl.cpp, swf_function.cpp, asobj/GMath.h, asobj/Global.cpp,
          asobj/Global.h, asobj/Key.cpp, asobj/Key.h, asobj/Makefile.am,

Index: server/PropertyList.h
===================================================================
RCS file: /sources/gnash/gnash/server/PropertyList.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- server/PropertyList.h       3 Nov 2006 08:39:25 -0000       1.6
+++ server/PropertyList.h       24 Nov 2006 15:41:14 -0000      1.7
@@ -26,9 +26,6 @@
 
 #include <map> 
 #include <string> // for use within map 
-
-#include "StringPredicates.h" // for case-insensitive comparison
-
 #include <cassert> // for inlines
 #include <cctype> // for toupper
 
@@ -63,7 +60,7 @@
        ///       overhead and with manager ownerhips. See:
        /// http://www.boost.org/libs/ptr_container/doc/ptr_container.html
        ///
-       typedef std::map<std::string, Property*, StringNoCaseLessThen> 
container;
+       typedef std::map<std::string, Property*> container;
        typedef container::iterator iterator;
        typedef container::const_iterator const_iterator;
        typedef container::reverse_iterator reverse_iterator;
@@ -110,7 +107,7 @@
        /// will be invoked using this instance's _owner as 'this' pointer.
        ///
        /// @param key
-       ///     name of the property. search will be case-insensitive
+       ///     Name of the property. Search is case-*sensitive*
        ///
        /// @param value
        ///     a reference to the as_value to which a found property
@@ -142,7 +139,7 @@
        /// If the property is not found a SimpleProperty will be created.
        ///
        /// @param key
-       ///     name of the property. search will be case-insensitive
+       ///     Name of the property. Search is case-*sensitive*
        ///
        /// @param value
        ///     a const reference to the as_value to use for setting
@@ -166,7 +163,7 @@
        /// Get a property, if existing
        //
        /// @param key
-       ///     name of the property. search will be case-insensitive
+       ///     Name of the property. Search is case-*sensitive*
        ///
        /// @return a Property or NULL, if no such property exists
        ///     ownership of returned Propery is kept by the PropertyList,
@@ -179,7 +176,7 @@
        /// (or should we allow override ?)
        //
        /// @param key
-       ///     name of the property. search will be case-insensitive
+       ///     Name of the property. Search is case-*sensitive*
        ///
        /// @param getter
        ///     A function to invoke when this property value is requested.
@@ -198,7 +195,7 @@
        /// Set the flags of a property.
        //
        /// @param key
-       ///     name of the property. search will be case-insensitive
+       ///     Name of the property. Search is case-*sensitive*
        ///
        /// @param setTrue
        ///     the set of flags to set

Index: server/as_object.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_object.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -b -r1.16 -r1.17
--- server/as_object.cpp        24 Nov 2006 13:33:21 -0000      1.16
+++ server/as_object.cpp        24 Nov 2006 15:41:14 -0000      1.17
@@ -31,6 +31,8 @@
 #include "VM.h"
 
 #include <set>
+#include <string>
+#include <boost/algorithm/string/case_conv.hpp>
 
 namespace gnash {
 
@@ -50,6 +52,16 @@
        // temp hack, should really update this method's interface instead
        std::string name = namei.c_str();
 
+       // TODO: keep a refenrence in the class definition
+       //       rather then caling ::get() everytime ?
+       VM& vm = VM::get();
+       if ( vm.getSWFVersion() < 7 )
+       {
+               boost::to_lower(name, vm.getLocale());
+       }
+
+       //log_msg("Getting member %s (SWF version:%d)", name.c_str(), 
vm.getSWFVersion());
+
        // TODO: inspect wheter it is possible to make __proto__ a
        //       getter/setter property instead, to take this into account
        //
@@ -137,15 +149,26 @@
 void
 as_object::set_member_default(const tu_stringi& name, const as_value& val )
 {
+
+        std::string key = name.c_str();
+
+       // TODO: keep a refenrence in the class definition
+       //       rather then caling ::get() everytime ?
+       VM& vm = VM::get();
+       if ( vm.getSWFVersion() < 7 )
+       {
+               boost::to_lower(key, vm.getLocale());
+       }
+
+       //log_msg("Setting member %s (SWF version:%d)", key.c_str(), 
vm.getSWFVersion());
+
        // TODO: make __proto__ a getter/setter ?
-       if (name == "__proto__") 
+       if (key == "__proto__") 
        {
                set_prototype(val.to_object());
                return;
        }
 
-        std::string key = name.c_str();
-
        // found a getter/setter property in the inheritance chain
        // so set that and return
        Property* prop = findGetterSetter(key);

Index: server/asobj/Date.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/Date.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- server/asobj/Date.cpp       29 Oct 2006 18:34:12 -0000      1.4
+++ server/asobj/Date.cpp       24 Nov 2006 15:41:14 -0000      1.5
@@ -296,45 +296,49 @@
 void
 date_new(const fn_call& fn)
 {
+       // TODO: just make date_as_object constructor
+       //       register the exported interface, don't
+       //       replicate all functions !!
+
        date_as_object *date_obj = new date_as_object;
 
-       date_obj->set_member("getdate", &date_getdate);
-       date_obj->set_member("getday", &date_getday);
-       date_obj->set_member("getfullyear", &date_getfullyear);
-       date_obj->set_member("gethours", &date_gethours);
-       date_obj->set_member("getmilliseconds", &date_getmilliseconds);
-       date_obj->set_member("getminutes", &date_getminutes);
-       date_obj->set_member("getmonth", &date_getmonth);
-       date_obj->set_member("getseconds", &date_getseconds);
-       date_obj->set_member("gettime", &date_gettime);
-       date_obj->set_member("gettimezoneoffset", &date_gettimezoneoffset);
-       date_obj->set_member("getutcdate", &date_getutcdate);
-       date_obj->set_member("getutcday", &date_getutcday);
-       date_obj->set_member("getutcfullyear", &date_getutcfullyear);
-       date_obj->set_member("getutchours", &date_getutchours);
-       date_obj->set_member("getutcmilliseconds", &date_getutcmilliseconds);
-       date_obj->set_member("getutcminutes", &date_getutcminutes);
-       date_obj->set_member("getutcmonth", &date_getutcmonth);
-       date_obj->set_member("getutcseconds", &date_getutcseconds);
-       date_obj->set_member("getyear", &date_getyear);
-       date_obj->set_member("setdate", &date_setdate);
-       date_obj->set_member("setfullyear", &date_setfullyear);
-       date_obj->set_member("sethours", &date_sethours);
-       date_obj->set_member("setmilliseconds", &date_setmilliseconds);
-       date_obj->set_member("setminutes", &date_setminutes);
-       date_obj->set_member("setmonth", &date_setmonth);
-       date_obj->set_member("setseconds", &date_setseconds);
-       date_obj->set_member("settime", &date_settime);
-       date_obj->set_member("setutcdate", &date_setutcdate);
-       date_obj->set_member("setutcfullyear", &date_setutcfullyear);
-       date_obj->set_member("setutchours", &date_setutchours);
-       date_obj->set_member("setutcmilliseconds", &date_setutcmilliseconds);
-       date_obj->set_member("setutcminutes", &date_setutcminutes);
-       date_obj->set_member("setutcmonth", &date_setutcmonth);
-       date_obj->set_member("setutcseconds", &date_setutcseconds);
-       date_obj->set_member("setyear", &date_setyear);
-       date_obj->set_member("tostring", &date_tostring);
-       date_obj->set_member("utc", &date_utc);
+       date_obj->set_member("getDate", &date_getdate);
+       date_obj->set_member("getDay", &date_getday);
+       date_obj->set_member("getFullYear", &date_getfullyear);
+       date_obj->set_member("getHours", &date_gethours);
+       date_obj->set_member("getMilliseconds", &date_getmilliseconds);
+       date_obj->set_member("getMinutes", &date_getminutes);
+       date_obj->set_member("getMonth", &date_getmonth);
+       date_obj->set_member("getSeconds", &date_getseconds);
+       date_obj->set_member("getTime", &date_gettime);
+       date_obj->set_member("getTimezoneOffset", &date_gettimezoneoffset);
+       date_obj->set_member("getUTCDate", &date_getutcdate);
+       date_obj->set_member("getUTCDay", &date_getutcday);
+       date_obj->set_member("getUTCFullYear", &date_getutcfullyear);
+       date_obj->set_member("getUTCHours", &date_getutchours);
+       date_obj->set_member("getUTCMilliseconds", &date_getutcmilliseconds);
+       date_obj->set_member("getUTCMinutes", &date_getutcminutes);
+       date_obj->set_member("getUTCMonth", &date_getutcmonth);
+       date_obj->set_member("getUTCSeconds", &date_getutcseconds);
+       date_obj->set_member("getYear", &date_getyear);
+       date_obj->set_member("setDate", &date_setdate);
+       date_obj->set_member("setFullYear", &date_setfullyear);
+       date_obj->set_member("setHours", &date_sethours);
+       date_obj->set_member("setMilliseconds", &date_setmilliseconds);
+       date_obj->set_member("setMinutes", &date_setminutes);
+       date_obj->set_member("setMonth", &date_setmonth);
+       date_obj->set_member("setSeconds", &date_setseconds);
+       date_obj->set_member("setTime", &date_settime);
+       date_obj->set_member("setUTCDate", &date_setutcdate);
+       date_obj->set_member("setUTCFullYear", &date_setutcfullyear);
+       date_obj->set_member("setUTCHours", &date_setutchours);
+       date_obj->set_member("setUTCMilliseconds", &date_setutcmilliseconds);
+       date_obj->set_member("setUTCMinutes", &date_setutcminutes);
+       date_obj->set_member("setUTCMonth", &date_setutcmonth);
+       date_obj->set_member("setUTCSeconds", &date_setutcseconds);
+       date_obj->set_member("setYear", &date_setyear);
+       date_obj->set_member("toString", &date_tostring);
+       date_obj->set_member("UTC", &date_utc);
 
        struct tm *ti;
        if (fn.nargs == 0) {




reply via email to

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