gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog libbase/string_table.cpp libbas...


From: Chad Musick
Subject: [Gnash-commit] gnash ChangeLog libbase/string_table.cpp libbas...
Date: Tue, 29 Jan 2008 07:13:24 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Chad Musick <cmusick>   08/01/29 07:13:24

Modified files:
        .              : ChangeLog 
        libbase        : string_table.cpp string_table.h 
        server         : namedStrings.cpp 
        testsuite/server: PropertyListTest.cpp 

Log message:
        Case sensitivity.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5514&r2=1.5515
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/string_table.cpp?cvsroot=gnash&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/string_table.h?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/namedStrings.cpp?cvsroot=gnash&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/server/PropertyListTest.cpp?cvsroot=gnash&r1=1.21&r2=1.22

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5514
retrieving revision 1.5515
diff -u -b -r1.5514 -r1.5515
--- ChangeLog   29 Jan 2008 05:18:32 -0000      1.5514
+++ ChangeLog   29 Jan 2008 07:13:23 -0000      1.5515
@@ -1,3 +1,10 @@
+2008-01-29 Chad Musick <address@hidden>
+
+       * libbase/string_table.h,cpp: Change string_table to be case
+         insensitive for strings in SWF versions less than 7.
+       * testsuite/server/PropertyListTest.cpp: Amend Test to not
+         test case-sensitivity when it shouldn't be case sensitive.
+
 2008-01-28 Bastiaan Jacques <address@hidden>
 
        * libmedia/gst/VideoDecoderGst.{cpp,h}: Tell the decoder about the

Index: libbase/string_table.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/string_table.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- libbase/string_table.cpp    24 Jan 2008 03:41:58 -0000      1.5
+++ libbase/string_table.cpp    29 Jan 2008 07:13:23 -0000      1.6
@@ -24,25 +24,26 @@
 std::string string_table::mEmpty = "";
 
 string_table::key
-string_table::find(const std::string& to_find, bool insert_unfound,
-       bool case_insensitive)
+string_table::find(const std::string& t_f, bool insert_unfound)
 {
-       std::size_t ckey = 0;
+       std::string t_fcase;
+       const std::string *to_find = NULL;
 
-       // Empty strings all map to 0
-       if (to_find.empty())
-               return 0;
-
-       if (case_insensitive)
+       if (mCaseInsensitive)
        {
-               std::string caseless = boost::to_lower_copy(to_find);
-               if (caseless != to_find) // Only do this if cased/caseless 
differs.
-               {
-                       ckey = find(caseless, insert_unfound, false).caseless;
-               }
+               t_fcase = t_f;
+               boost::to_lower(t_fcase);
+               to_find = &t_fcase;
        }
+       else
+               to_find = &t_f;
+               
+       // Empty strings all map to 0
+       if (to_find->empty())
+               return 0;
 
-       table::nth_index<0>::type::iterator i = mTable.get<0>().find(to_find);
+       table::nth_index<0>::type::iterator i =
+               mTable.get<0>().find(*to_find);
 
        if (i == mTable.end() && insert_unfound)
        {
@@ -53,21 +54,23 @@
                        // First we lock.
                        boost::mutex::scoped_lock aLock(mLock);
                        // Then we see if someone else managed to sneak past us.
-                       i = mTable.get<0>().find(to_find);
+                       i = mTable.get<0>().find(*to_find);
                        // If they did, use that value.
                        if (i != mTable.end())
-                               return case_key(i->mId, &i->mValue); 
+                               return i->mId;
+
                        // Otherwise, insert it.
-                       theSvt.mValue = to_find;
+                       theSvt.mValue = t_f;
+                       theSvt.mComp = *to_find;
                        theSvt.mId = ++mHighestKey;
                        mTable.insert(theSvt);
-                       return case_key(ckey ? ckey : theSvt.mId, 
&(theSvt.mValue));
+                       return theSvt.mId;
                }
                else
                        return 0;
        }
 
-       return case_key(ckey ? ckey : i->mId, &(i->mValue));
+       return i->mId;
 }
 
 string_table::key
@@ -85,9 +88,7 @@
 string_table::insert(const std::string& to_insert)
 {
        boost::mutex::scoped_lock aLock(mLock);
-       svt theSvt;
-       theSvt.mValue = to_insert;
-       theSvt.mId = ++mHighestKey;
+       svt theSvt(to_insert, ++mHighestKey);
 
        return mTable.insert(theSvt).first->mId;
 }
@@ -100,7 +101,11 @@
        for (std::size_t i = 0; i < size; ++i)
        {
                if (mSetToLower)
+               {
                        boost::to_lower(pList[i].mValue);
+                       boost::to_lower(pList[i].mComp);
+               }
+
                // The keys don't have to be consecutive, so any time we find a 
key
                // that is too big, jump a few keys to avoid rewriting this on 
every item.
                if (pList[i].mId > mHighestKey)
@@ -113,9 +118,9 @@
 string_table::key
 string_table::already_locked_insert(const std::string& to_insert, 
boost::mutex&)
 {
-       svt theSvt;
-       theSvt.mValue = to_insert;
-       theSvt.mId = ++mHighestKey;
+       svt theSvt (to_insert, ++mHighestKey);
+       if (mCaseInsensitive)
+               boost::to_lower(theSvt.mComp);
        return mTable.insert(theSvt).first->mId;
 }
 

Index: libbase/string_table.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/string_table.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- libbase/string_table.h      24 Jan 2008 03:41:59 -0000      1.8
+++ libbase/string_table.h      29 Jan 2008 07:13:23 -0000      1.9
@@ -41,37 +41,30 @@
 /// A general use string table.
 class string_table
 {
-private:
-       struct case_key
-       {
-               std::size_t caseless;
-               const std::string *cased;
-               case_key() : caseless(0), cased(NULL) {}
-               case_key(std::size_t k) : caseless(k), cased(NULL) {}
-               case_key(std::size_t k, const std::string *c) :
-                       caseless(k), cased(c) {}
-               operator std::size_t() const { return caseless; }
-               bool operator<(const case_key &o) { return caseless < 
o.caseless; }
-       };
-
 public:
        /// A little helper for indexing.
        struct svt
        {
                std::string mValue;
                std::size_t mId;
+               std::string mComp;
+
+               svt() : mValue(""), mId(0), mComp("") {/**/}
+
+               svt(const std::string &val, std::size_t id) :
+                       mValue(val), mId(id), mComp(val) {/**/}
        };
 
 public:
        typedef boost::multi_index_container<svt,
                boost::multi_index::indexed_by<
                        boost::multi_index::hashed_non_unique<
-                               boost::multi_index::member<svt, std::string, 
&svt::mValue> >,
+                               boost::multi_index::member<svt, std::string, 
&svt::mComp> >,
                        boost::multi_index::hashed_non_unique< // caseless
                                boost::multi_index::member<svt, std::size_t, 
&svt::mId> > 
        > > table;
 
-       typedef case_key key;
+       typedef std::size_t key;
 
        /// \brief
        /// Find a string. If insert_unfound is true, the string will
@@ -83,16 +76,10 @@
        /// If this is set to false, a search is performed, but no update.
        /// By update, any unfound string is added to the table.
        ///
-       /// @param case_insensitive
-       /// If true, find a case-insensitive match to this.
-       /// N.B.: Will not necessarily match a string which was not inserted
-       /// as case_insensitive.
-       ///
        /// @return
        /// A key which can be used in value or 0 if the string is
        /// not yet in the table and insert_unfound was false.
-       key find(const std::string& to_find, bool insert_unfound = true,
-               bool case_insensitive = false);
+       key find(const std::string& to_find, bool insert_unfound = true);
 
        /// \brief
        /// Find a string which is the concatentation of two known strings
@@ -100,21 +87,6 @@
        /// Otherwise, just like find.
        key find_dot_pair(key left, key right, bool insert_unfound = true);
 
-       /// Find a string by its key, exactly.
-       ///
-       /// @param to_find
-       /// The string key whose value should be found.
-       ///
-       /// @param (unnamed)
-       /// Used to distinguish from value(key to_find)
-       const std::string& value(key &to_find, bool)
-       {
-               if (to_find.cased != NULL)
-                       return *to_find.cased;
-               to_find.cased = &(value(to_find));
-               return *to_find.cased;
-       }
-
        /// Find a string by its key.
        ///
        /// @return
@@ -124,7 +96,7 @@
                if (mTable.empty() || !to_find)
                        return mEmpty;
                table::nth_index<1>::type::iterator r = 
-                       mTable.get<1>().find(to_find.caseless);
+                       mTable.get<1>().find(to_find);
                return (r == mTable.get<1>().end()) ? mEmpty : r->mValue;
        }
 
@@ -164,12 +136,16 @@
        /// @return A mutex which can be used to lock the string table to 
inserts.
        boost::mutex& lock_mutex() { return mLock; }
 
+       /// Make the comparisons case-insensitive.
+       void set_insensitive() { mCaseInsensitive = true; }
+
        /// Construct the empty string_table
        string_table() :
                mTable(),
                mLock(),
                mHighestKey(0),
-               mSetToLower(false)
+               mSetToLower(false),
+               mCaseInsensitive(false)
        {/**/}
 
 private:
@@ -178,6 +154,7 @@
        boost::mutex mLock;
        std::size_t mHighestKey;
        bool mSetToLower; // If true, affects the next group addition.
+       bool mCaseInsensitive;
 };
 
 } /* namespace gnash */

Index: server/namedStrings.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/namedStrings.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- server/namedStrings.cpp     21 Jan 2008 20:55:51 -0000      1.10
+++ server/namedStrings.cpp     29 Jan 2008 07:13:23 -0000      1.11
@@ -27,160 +27,163 @@
 // Load up our pre-known names
 static string_table::svt preload_names[] =
 {
-       { "addListener", NSV::PROP_ADD_LISTENER },
-       { "align", NSV::PROP_ALIGN },
-       { "_alpha", NSV::PROP_uALPHA },
-       { "blockIndent", NSV::PROP_BLOCK_INDENT },
-       { "bold", NSV::PROP_BOLD },
-       { "broadcastMessage", NSV::PROP_BROADCAST_MESSAGE },
-       { "bullet", NSV::PROP_BULLET },
-       { "callee", NSV::PROP_CALLEE },
-       { "color", NSV::PROP_COLOR },
-       { "constructor", NSV::PROP_CONSTRUCTOR },
-       { "__constructor__", NSV::PROP_uuCONSTRUCTORuu },
-       { "_currentframe", NSV::PROP_uCURRENTFRAME },
-       { "_droptarget", NSV::PROP_uDROPTARGET },
-       { "enabled", NSV::PROP_ENABLED },
-       { "_focusrect", NSV::PROP_uFOCUSRECT },
-       { "_framesloaded", NSV::PROP_uFRAMESLOADED },
-       { "_height", NSV::PROP_uHEIGHT },
-       { "_highquality", NSV::PROP_uHIGHQUALITY },
-       { "htmlText", NSV::PROP_HTML_TEXT },
-       { "indent", NSV::PROP_INDENT },
-       { "italic", NSV::PROP_ITALIC },
-       { "leading", NSV::PROP_LEADING },
-       { "left_margin", NSV::PROP_LEFT_MARGIN },
-       { "length", NSV::PROP_LENGTH },
-       { "_listeners", NSV::PROP_uLISTENERS },
-       { "loaded", NSV::PROP_LOADED },
-       { "_name", NSV::PROP_uNAME },
-       { "onLoad", NSV::PROP_ON_LOAD },
-       { "onClose", NSV::PROP_ON_CLOSE },
-       { "onLoadStart", NSV::PROP_ON_LOAD_START },
-       { "onLoadError", NSV::PROP_ON_LOAD_ERROR },
-       { "onLoadProgress", NSV::PROP_ON_LOAD_PROGRESS },
-       { "onLoadInit", NSV::PROP_ON_LOAD_INIT },
-       { "onUnload", NSV::PROP_ON_UNLOAD },
-       { "onEnterFrame", NSV::PROP_ON_ENTER_FRAME },
-       { "onConstruct", NSV::PROP_ON_CONSTRUCT },
-       { "onInitialize", NSV::PROP_ON_INITIALIZE },
-       { "onData", NSV::PROP_ON_DATA },
-       { "onResize", NSV::PROP_ON_RESIZE },
-       { "onPress", NSV::PROP_ON_PRESS },
-       { "onRelease", NSV::PROP_ON_RELEASE },
-       { "onReleaseOutside", NSV::PROP_ON_RELEASE_OUTSIDE },
-       { "onRollOut", NSV::PROP_ON_ROLL_OUT },
-       { "onRollOver", NSV::PROP_ON_ROLL_OVER },
-       { "onDragOver", NSV::PROP_ON_DRAG_OVER },
-       { "onDragOut", NSV::PROP_ON_DRAG_OUT },
-       { "onKeyPress", NSV::PROP_ON_KEY_PRESS },
-       { "onKeyDown", NSV::PROP_ON_KEY_DOWN },
-       { "onKeyUp", NSV::PROP_ON_KEY_UP },
-       { "onMouseDown", NSV::PROP_ON_MOUSE_DOWN },
-       { "onMouseUp", NSV::PROP_ON_MOUSE_UP },
-       { "onMouseMove", NSV::PROP_ON_MOUSE_MOVE },
-       { "onSetFocus", NSV::PROP_ON_SET_FOCUS },
-       { "onKillFocus", NSV::PROP_ON_KILL_FOCUS },
-       { "onSelect", NSV::PROP_ON_SELECT },
-       { "onStatus", NSV::PROP_ON_STATUS },
-       { "onMetaData", NSV::PROP_ON_META_DATA },
-       { "onSockClose", NSV::PROP_ON_SOCK_CLOSE },
-       { "onSockConnect", NSV::PROP_ON_SOCK_CONNECT },
-       { "onSockData", NSV::PROP_ON_SOCK_DATA },
-       { "onSockXML", NSV::PROP_ON_SOCK_XML },
-       { "onXMLLoad", NSV::PROP_ON_XML_LOAD },
-       { "onXMLData", NSV::PROP_ON_XML_DATA },
-       { "parseXML", NSV::PROP_PARSE_XML },
-       { "onTimer", NSV::PROP_ON_TIMER },
-       { "_parent", NSV::PROP_uPARENT },
-       { "_root", NSV::PROP_uROOT },
-       { "_global", NSV::PROP_uGLOBAL },
-       { "__proto__", NSV::PROP_uuPROTOuu },
-       { "prototype", NSV::PROP_PROTOTYPE },
-       { "push", NSV::PROP_PUSH },
-       { "removeListener", NSV::PROP_REMOVE_LISTENER },
-       { "rightMargin", NSV::PROP_RIGHT_MARGIN },
-       { "_rotation", NSV::PROP_uROTATION },
-       { "scaleMode", NSV::PROP_SCALE_MODE },
-       { "size", NSV::PROP_SIZE },
-       { "_soundbuftime", NSV::PROP_uSOUNDBUFTIME },
-       { "splice", NSV::PROP_SPLICE },
-       { "Stage", NSV::PROP_iSTAGE },
-       { "status", NSV::PROP_STATUS },
-       { "super", NSV::PROP_SUPER },
-       { "_target", NSV::PROP_uTARGET },
-       { "text", NSV::PROP_TEXT },
-       { "textColor", NSV::PROP_TEXT_COLOR },
-       { "textWidth", NSV::PROP_TEXT_WIDTH },
-       { "toString", NSV::PROP_TO_STRING },
-       { "_totalframes", NSV::PROP_uTOTALFRAMES },
-       { "underline", NSV::PROP_UNDERLINE },
-       { "_url", NSV::PROP_uURL },
-       { "valueOf", NSV::PROP_VALUE_OF },
-       { "_visible", NSV::PROP_uVISIBLE },
-       { "_width", NSV::PROP_uWIDTH },
-       { "x", NSV::PROP_X },
-       { "_x", NSV::PROP_uX },
-       { "_xmouse", NSV::PROP_uXMOUSE },
-       { "_xscale", NSV::PROP_uXSCALE },
-       { "y", NSV::PROP_Y },
-       { "_y", NSV::PROP_uY },
-       { "_ymouse", NSV::PROP_uYMOUSE },
-       { "_yscale", NSV::PROP_uYSCALE },
-       { "System", NSV::CLASS_SYSTEM },
-//     { "Stage", NSV::CLASS_STAGE }, // Identical to PROP_iSTAGE
-       { "MovieClip", NSV::CLASS_MOVIE_CLIP },
-       { "TextField", NSV::CLASS_TEXT_FIELD },
-       { "Math", NSV::CLASS_MATH },
-       { "Boolean", NSV::CLASS_BOOLEAN },
-       { "Color", NSV::CLASS_COLOR },
-       { "Selection", NSV::CLASS_SELECTION },
-       { "Sound", NSV::CLASS_SOUND },
-       { "XMLSocket", NSV::CLASS_X_M_L_SOCKET },
-       { "Date", NSV::CLASS_DATE },
-       { "XML", NSV::CLASS_X_M_L },
-       { "XMLNode", NSV::CLASS_X_M_L_NODE },
-       { "Mouse", NSV::CLASS_MOUSE },
-       { "Object", NSV::CLASS_OBJECT },
-       { "String", NSV::CLASS_STRING },
-       { "Number", NSV::CLASS_NUMBER },
-       { "Array", NSV::CLASS_ARRAY },
-       { "Key", NSV::CLASS_KEY },
-       { "AsBroadcaster", NSV::CLASS_AS_BROADCASTER },
-       { "Function", NSV::CLASS_FUNCTION },
-       { "TextSnapshot", NSV::CLASS_TEXT_SNAPSHOT },
-       { "Video", NSV::CLASS_VIDEO },
-       { "Camera", NSV::CLASS_CAMERA },
-       { "Microphone", NSV::CLASS_MICROPHONE },
-       { "SharedObject", NSV::CLASS_SHARED_OBJECT },
-       { "LoadVars", NSV::CLASS_LOAD_VARS },
-       { "CustomActions", NSV::CLASS_CUSTOM_ACTIONS },
-       { "NetConnection", NSV::CLASS_NET_CONNECTION },
-       { "NetStream", NSV::CLASS_NET_STREAM },
-       { "ContextMenu", NSV::CLASS_CONTEXT_MENU },
-       { "MovieClipLoader", NSV::CLASS_MOVIE_CLIP_LOADER },
-       { "Error", NSV::CLASS_ERROR },
-       { "flash.display", NSV::NS_FLASH_DISPLAY },
-       { "flash.text", NSV::NS_FLASH_TEXT },
-       { "flash.geom", NSV::NS_FLASH_GEOM },
-       { "flash.net", NSV::NS_FLASH_NET },
-       { "flash.system", NSV::NS_FLASH_SYSTEM },
-       { "flash.utils", NSV::NS_FLASH_UTILS },
-       { "flash.events", NSV::NS_FLASH_EVENTS },
-       { "flash.accessibility", NSV::NS_FLASH_ACCESSIBILITY },
-       { "flash.media", NSV::NS_FLASH_MEDIA },
-       { "flash.xml", NSV::NS_FLASH_XML },
-       { "flash.ui", NSV::NS_FLASH_UI },
-       { "adobe.utils", NSV::NS_ADOBE_UTILS },
-       { "", NSV::INTERNAL_TYPE },
-       { "", NSV::INTERNAL_STACK_PARENT },
-       { "", NSV::INTERNAL_INTERFACES }
+       string_table::svt( "addListener", NSV::PROP_ADD_LISTENER ),
+       string_table::svt( "align", NSV::PROP_ALIGN ),
+       string_table::svt( "_alpha", NSV::PROP_uALPHA ),
+       string_table::svt( "blockIndent", NSV::PROP_BLOCK_INDENT ),
+       string_table::svt( "bold", NSV::PROP_BOLD ),
+       string_table::svt( "broadcastMessage", NSV::PROP_BROADCAST_MESSAGE ),
+       string_table::svt( "bullet", NSV::PROP_BULLET ),
+       string_table::svt( "callee", NSV::PROP_CALLEE ),
+       string_table::svt( "color", NSV::PROP_COLOR ),
+       string_table::svt( "constructor", NSV::PROP_CONSTRUCTOR ),
+       string_table::svt( "__constructor__", NSV::PROP_uuCONSTRUCTORuu ),
+       string_table::svt( "_currentframe", NSV::PROP_uCURRENTFRAME ),
+       string_table::svt( "_droptarget", NSV::PROP_uDROPTARGET ),
+       string_table::svt( "enabled", NSV::PROP_ENABLED ),
+       string_table::svt( "_focusrect", NSV::PROP_uFOCUSRECT ),
+       string_table::svt( "_framesloaded", NSV::PROP_uFRAMESLOADED ),
+       string_table::svt( "_height", NSV::PROP_uHEIGHT ),
+       string_table::svt( "_highquality", NSV::PROP_uHIGHQUALITY ),
+       string_table::svt( "htmlText", NSV::PROP_HTML_TEXT ),
+       string_table::svt( "indent", NSV::PROP_INDENT ),
+       string_table::svt( "italic", NSV::PROP_ITALIC ),
+       string_table::svt( "leading", NSV::PROP_LEADING ),
+       string_table::svt( "left_margin", NSV::PROP_LEFT_MARGIN ),
+       string_table::svt( "length", NSV::PROP_LENGTH ),
+       string_table::svt( "_listeners", NSV::PROP_uLISTENERS ),
+       string_table::svt( "loaded", NSV::PROP_LOADED ),
+       string_table::svt( "_name", NSV::PROP_uNAME ),
+       string_table::svt( "onLoad", NSV::PROP_ON_LOAD ),
+       string_table::svt( "onClose", NSV::PROP_ON_CLOSE ),
+       string_table::svt( "onLoadStart", NSV::PROP_ON_LOAD_START ),
+       string_table::svt( "onLoadError", NSV::PROP_ON_LOAD_ERROR ),
+       string_table::svt( "onLoadProgress", NSV::PROP_ON_LOAD_PROGRESS ),
+       string_table::svt( "onLoadInit", NSV::PROP_ON_LOAD_INIT ),
+       string_table::svt( "onUnload", NSV::PROP_ON_UNLOAD ),
+       string_table::svt( "onEnterFrame", NSV::PROP_ON_ENTER_FRAME ),
+       string_table::svt( "onConstruct", NSV::PROP_ON_CONSTRUCT ),
+       string_table::svt( "onInitialize", NSV::PROP_ON_INITIALIZE ),
+       string_table::svt( "onData", NSV::PROP_ON_DATA ),
+       string_table::svt( "onResize", NSV::PROP_ON_RESIZE ),
+       string_table::svt( "onPress", NSV::PROP_ON_PRESS ),
+       string_table::svt( "onRelease", NSV::PROP_ON_RELEASE ),
+       string_table::svt( "onReleaseOutside", NSV::PROP_ON_RELEASE_OUTSIDE ),
+       string_table::svt( "onRollOut", NSV::PROP_ON_ROLL_OUT ),
+       string_table::svt( "onRollOver", NSV::PROP_ON_ROLL_OVER ),
+       string_table::svt( "onDragOver", NSV::PROP_ON_DRAG_OVER ),
+       string_table::svt( "onDragOut", NSV::PROP_ON_DRAG_OUT ),
+       string_table::svt( "onKeyPress", NSV::PROP_ON_KEY_PRESS ),
+       string_table::svt( "onKeyDown", NSV::PROP_ON_KEY_DOWN ),
+       string_table::svt( "onKeyUp", NSV::PROP_ON_KEY_UP ),
+       string_table::svt( "onMouseDown", NSV::PROP_ON_MOUSE_DOWN ),
+       string_table::svt( "onMouseUp", NSV::PROP_ON_MOUSE_UP ),
+       string_table::svt( "onMouseMove", NSV::PROP_ON_MOUSE_MOVE ),
+       string_table::svt( "onSetFocus", NSV::PROP_ON_SET_FOCUS ),
+       string_table::svt( "onKillFocus", NSV::PROP_ON_KILL_FOCUS ),
+       string_table::svt( "onSelect", NSV::PROP_ON_SELECT ),
+       string_table::svt( "onStatus", NSV::PROP_ON_STATUS ),
+       string_table::svt( "onMetaData", NSV::PROP_ON_META_DATA ),
+       string_table::svt( "onSockClose", NSV::PROP_ON_SOCK_CLOSE ),
+       string_table::svt( "onSockConnect", NSV::PROP_ON_SOCK_CONNECT ),
+       string_table::svt( "onSockData", NSV::PROP_ON_SOCK_DATA ),
+       string_table::svt( "onSockXML", NSV::PROP_ON_SOCK_XML ),
+       string_table::svt( "onXMLLoad", NSV::PROP_ON_XML_LOAD ),
+       string_table::svt( "onXMLData", NSV::PROP_ON_XML_DATA ),
+       string_table::svt( "parseXML", NSV::PROP_PARSE_XML ),
+       string_table::svt( "onTimer", NSV::PROP_ON_TIMER ),
+       string_table::svt( "_parent", NSV::PROP_uPARENT ),
+       string_table::svt( "_root", NSV::PROP_uROOT ),
+       string_table::svt( "_global", NSV::PROP_uGLOBAL ),
+       string_table::svt( "__proto__", NSV::PROP_uuPROTOuu ),
+       string_table::svt( "prototype", NSV::PROP_PROTOTYPE ),
+       string_table::svt( "push", NSV::PROP_PUSH ),
+       string_table::svt( "removeListener", NSV::PROP_REMOVE_LISTENER ),
+       string_table::svt( "rightMargin", NSV::PROP_RIGHT_MARGIN ),
+       string_table::svt( "_rotation", NSV::PROP_uROTATION ),
+       string_table::svt( "scaleMode", NSV::PROP_SCALE_MODE ),
+       string_table::svt( "size", NSV::PROP_SIZE ),
+       string_table::svt( "_soundbuftime", NSV::PROP_uSOUNDBUFTIME ),
+       string_table::svt( "splice", NSV::PROP_SPLICE ),
+       string_table::svt( "Stage", NSV::PROP_iSTAGE ),
+       string_table::svt( "status", NSV::PROP_STATUS ),
+       string_table::svt( "super", NSV::PROP_SUPER ),
+       string_table::svt( "_target", NSV::PROP_uTARGET ),
+       string_table::svt( "text", NSV::PROP_TEXT ),
+       string_table::svt( "textColor", NSV::PROP_TEXT_COLOR ),
+       string_table::svt( "textWidth", NSV::PROP_TEXT_WIDTH ),
+       string_table::svt( "toString", NSV::PROP_TO_STRING ),
+       string_table::svt( "_totalframes", NSV::PROP_uTOTALFRAMES ),
+       string_table::svt( "underline", NSV::PROP_UNDERLINE ),
+       string_table::svt( "_url", NSV::PROP_uURL ),
+       string_table::svt( "valueOf", NSV::PROP_VALUE_OF ),
+       string_table::svt( "_visible", NSV::PROP_uVISIBLE ),
+       string_table::svt( "_width", NSV::PROP_uWIDTH ),
+       string_table::svt( "x", NSV::PROP_X ),
+       string_table::svt( "_x", NSV::PROP_uX ),
+       string_table::svt( "_xmouse", NSV::PROP_uXMOUSE ),
+       string_table::svt( "_xscale", NSV::PROP_uXSCALE ),
+       string_table::svt( "y", NSV::PROP_Y ),
+       string_table::svt( "_y", NSV::PROP_uY ),
+       string_table::svt( "_ymouse", NSV::PROP_uYMOUSE ),
+       string_table::svt( "_yscale", NSV::PROP_uYSCALE ),
+       string_table::svt( "System", NSV::CLASS_SYSTEM ),
+//     string_table::svt( "Stage", NSV::CLASS_STAGE ), // Identical to 
PROP_iSTAGE
+       string_table::svt( "MovieClip", NSV::CLASS_MOVIE_CLIP ),
+       string_table::svt( "TextField", NSV::CLASS_TEXT_FIELD ),
+       string_table::svt( "Math", NSV::CLASS_MATH ),
+       string_table::svt( "Boolean", NSV::CLASS_BOOLEAN ),
+       string_table::svt( "Color", NSV::CLASS_COLOR ),
+       string_table::svt( "Selection", NSV::CLASS_SELECTION ),
+       string_table::svt( "Sound", NSV::CLASS_SOUND ),
+       string_table::svt( "XMLSocket", NSV::CLASS_X_M_L_SOCKET ),
+       string_table::svt( "Date", NSV::CLASS_DATE ),
+       string_table::svt( "XML", NSV::CLASS_X_M_L ),
+       string_table::svt( "XMLNode", NSV::CLASS_X_M_L_NODE ),
+       string_table::svt( "Mouse", NSV::CLASS_MOUSE ),
+       string_table::svt( "Object", NSV::CLASS_OBJECT ),
+       string_table::svt( "String", NSV::CLASS_STRING ),
+       string_table::svt( "Number", NSV::CLASS_NUMBER ),
+       string_table::svt( "Array", NSV::CLASS_ARRAY ),
+       string_table::svt( "Key", NSV::CLASS_KEY ),
+       string_table::svt( "AsBroadcaster", NSV::CLASS_AS_BROADCASTER ),
+       string_table::svt( "Function", NSV::CLASS_FUNCTION ),
+       string_table::svt( "TextSnapshot", NSV::CLASS_TEXT_SNAPSHOT ),
+       string_table::svt( "Video", NSV::CLASS_VIDEO ),
+       string_table::svt( "Camera", NSV::CLASS_CAMERA ),
+       string_table::svt( "Microphone", NSV::CLASS_MICROPHONE ),
+       string_table::svt( "SharedObject", NSV::CLASS_SHARED_OBJECT ),
+       string_table::svt( "LoadVars", NSV::CLASS_LOAD_VARS ),
+       string_table::svt( "CustomActions", NSV::CLASS_CUSTOM_ACTIONS ),
+       string_table::svt( "NetConnection", NSV::CLASS_NET_CONNECTION ),
+       string_table::svt( "NetStream", NSV::CLASS_NET_STREAM ),
+       string_table::svt( "ContextMenu", NSV::CLASS_CONTEXT_MENU ),
+       string_table::svt( "MovieClipLoader", NSV::CLASS_MOVIE_CLIP_LOADER ),
+       string_table::svt( "Error", NSV::CLASS_ERROR ),
+       string_table::svt( "flash.display", NSV::NS_FLASH_DISPLAY ),
+       string_table::svt( "flash.text", NSV::NS_FLASH_TEXT ),
+       string_table::svt( "flash.geom", NSV::NS_FLASH_GEOM ),
+       string_table::svt( "flash.net", NSV::NS_FLASH_NET ),
+       string_table::svt( "flash.system", NSV::NS_FLASH_SYSTEM ),
+       string_table::svt( "flash.utils", NSV::NS_FLASH_UTILS ),
+       string_table::svt( "flash.events", NSV::NS_FLASH_EVENTS ),
+       string_table::svt( "flash.accessibility", NSV::NS_FLASH_ACCESSIBILITY ),
+       string_table::svt( "flash.media", NSV::NS_FLASH_MEDIA ),
+       string_table::svt( "flash.xml", NSV::NS_FLASH_XML ),
+       string_table::svt( "flash.ui", NSV::NS_FLASH_UI ),
+       string_table::svt( "adobe.utils", NSV::NS_ADOBE_UTILS ),
+       string_table::svt( "", NSV::INTERNAL_TYPE ),
+       string_table::svt( "", NSV::INTERNAL_STACK_PARENT ),
+       string_table::svt( "", NSV::INTERNAL_INTERFACES )
 };
 
 void load_strings(string_table *table, int version)
 {
        if (version < 7)
+       {
                table->lower_next_group();
+               table->set_insensitive();
+       }
 
        table->insert_group(preload_names,
                sizeof (preload_names) / sizeof (string_table::svt));

Index: testsuite/server/PropertyListTest.cpp
===================================================================
RCS file: /sources/gnash/gnash/testsuite/server/PropertyListTest.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- testsuite/server/PropertyListTest.cpp       21 Jan 2008 23:26:53 -0000      
1.21
+++ testsuite/server/PropertyListTest.cpp       29 Jan 2008 07:13:24 -0000      
1.22
@@ -68,6 +68,8 @@
 
        string_table& st = vm.getStringTable();
 
+       if (vm.getSWFVersion() > 6) // Below 7 is not case sensitive.
+       {
        check_equals(props.size(), 0);
        check ( props.setValue(st.find("Var0"), val, obj) );
        check_equals(props.size(), 1);
@@ -121,6 +123,6 @@
        check_equals( vals["var0"], "value3" );
        check_equals( vals["Var0"], "value2" );
        check_equals( vals["var1"], "value" );
-
+       } // end version specific
 }
 




reply via email to

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