gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/trunk r9776: Use namedStrings more.


From: Benjamin Wolsey
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r9776: Use namedStrings more.
Date: Thu, 18 Sep 2008 11:04:26 +0200
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9776
committer: Benjamin Wolsey <address@hidden>
branch nick: trunk
timestamp: Thu 2008-09-18 11:04:26 +0200
message:
  Use namedStrings more.
  
  Do more tidying up of old XML_as code.
modified:
  libcore/asobj/LoadVars_as.cpp
  libcore/asobj/XML_as.cpp
  libcore/asobj/XML_as.h
  libcore/edit_text_character.cpp
  libcore/namedStrings.cpp
  libcore/namedStrings.h
  libcore/sprite_instance.cpp
  libcore/vm/VM.cpp
    ------------------------------------------------------------
    revno: 9774.1.1
    committer: Benjamin Wolsey <address@hidden>
    branch nick: work
    timestamp: Thu 2008-09-18 10:14:55 +0200
    message:
      Add more strings to namedStrings and use them.
      
      Pass string_table by reference not pointer to loadStrings.
      
      Sort the namedStrings table (not that useful).
    modified:
      libcore/asobj/LoadVars_as.cpp
      libcore/asobj/XML_as.cpp
      libcore/namedStrings.cpp
      libcore/namedStrings.h
      libcore/sprite_instance.cpp
      libcore/vm/VM.cpp
    ------------------------------------------------------------
    revno: 9774.1.2
    committer: Benjamin Wolsey <address@hidden>
    branch nick: work
    timestamp: Thu 2008-09-18 10:34:47 +0200
    message:
      Add one more property to namedStrings.
      
      Tidy up XML_as.cpp
      
      Use named string in sprite_instance.cpp.
    modified:
      libcore/asobj/XML_as.cpp
      libcore/namedStrings.cpp
      libcore/namedStrings.h
      libcore/sprite_instance.cpp
    ------------------------------------------------------------
    revno: 9774.1.3
    committer: Benjamin Wolsey <address@hidden>
    branch nick: work
    timestamp: Thu 2008-09-18 10:40:46 +0200
    message:
      Don't expose static functions unnecessarily. Also drop memadjust 
declaration.
      
      Drop unused variables.
    modified:
      libcore/asobj/LoadVars_as.cpp
      libcore/asobj/XML_as.cpp
      libcore/asobj/XML_as.h
      libcore/edit_text_character.cpp
=== modified file 'libcore/asobj/LoadVars_as.cpp'
--- a/libcore/asobj/LoadVars_as.cpp     2008-09-17 12:52:55 +0000
+++ b/libcore/asobj/LoadVars_as.cpp     2008-09-18 08:40:46 +0000
@@ -416,7 +416,6 @@
        std::auto_ptr<IOChannel> str;
        if (post)
     {
-        string_table& st = _vm.getStringTable();
         as_value customHeaders;
 
         NetworkAdapter::RequestHeaders headers;
@@ -458,7 +457,7 @@
 
         as_value contentType;
 
-        if ( get_member(st.find("contentType"), &contentType) )
+        if (get_member(NSV::PROP_CONTENT_TYPE, &contentType))
         {
             // This should not overwrite anything set in 
LoadVars.addRequestHeader();
             headers.insert(std::make_pair("Content-Type", 
contentType.to_string()));

=== modified file 'libcore/asobj/XML_as.cpp'
--- a/libcore/asobj/XML_as.cpp  2008-09-17 19:27:40 +0000
+++ b/libcore/asobj/XML_as.cpp  2008-09-18 08:40:46 +0000
@@ -67,7 +67,7 @@
 static void attachXMLInterface(as_object& o);
 static void attachXMLProperties(as_object& o);
 
-DSOEXPORT as_value xml_new(const fn_call& fn);
+static as_value xml_new(const fn_call& fn);
 static as_value xml_load(const fn_call& fn);
 static as_value xml_addRequestHeader(const fn_call& fn);
 static as_value xml_createelement(const fn_call& fn);
@@ -339,11 +339,14 @@
     else
     {
         log_debug(_("malformed XML, trying to recover"));
-        int ret = xmlParseBalancedChunkMemoryRecover(NULL, NULL, NULL, 0, 
(const xmlChar*)xml_in.c_str(), &firstNode, 1);
+        int ret = xmlParseBalancedChunkMemoryRecover(NULL, NULL, NULL, 
+                0, (const xmlChar*)xml_in.c_str(), &firstNode, 1);
         log_debug("xmlParseBalancedChunkMemoryRecover returned %d", ret);
         if ( ! firstNode )
         {
-            log_error(_("unrecoverable malformed XML 
(xmlParseBalancedChunkMemoryRecover returned %d)."), ret);
+            log_error(_("unrecoverable malformed XML "
+                        "(xmlParseBalancedChunkMemoryRecover returned "
+                        "%d)."), ret);
             return false;
         }
         else
@@ -381,7 +384,8 @@
     // 
     _loadThreads.push_front(lt.get());
 #ifdef DEBUG_XML_LOADS
-    log_debug("Pushed thread %p to _loadThreads, number of XML load threads 
now: %d", (void*)lt.get(),  _loadThreads.size());
+    log_debug("Pushed thread %p to _loadThreads, number of XML load "
+            "threads now: %d", (void*)lt.get(),  _loadThreads.size());
 #endif
     lt.release();
 
@@ -441,7 +445,8 @@
         _bytesTotal = lt->getBytesTotal();
 
 #ifdef DEBUG_XML_LOADS
-        log_debug("XML loads thread %p got %ld/%ld bytes", (void*)lt, 
lt->getBytesLoaded(), lt->getBytesTotal() );
+        log_debug("XML loads thread %p got %ld/%ld bytes",
+                (void*)lt, lt->getBytesLoaded(), lt->getBytesTotal() );
 #endif
         if ( lt->completed() )
         {
@@ -454,8 +459,9 @@
                                // possibility which lacks documentation (thus 
a bug in documentation)
                                //
 #ifdef DEBUG_XML_LOADS
-                               log_debug("LoadThread::getBytesLoaded() 
returned %d but ::read(%d) returned %d",
-                                       xmlsize, xmlsize, actuallyRead);
+                               log_debug("LoadThread::getBytesLoaded() 
returned %d but "
+                        "::read(%d) returned %d",
+                                           xmlsize, xmlsize, actuallyRead);
 #endif
                        }
             buf[actuallyRead] = '\0';
@@ -466,7 +472,8 @@
             char* bufptr = utf8::stripBOM(buf.get(), xmlsize, encoding);
             if ( encoding != utf8::encUTF8 && encoding != utf8::encUNSPECIFIED 
)
             {
-                log_unimpl("%s to utf8 conversion in XML input parsing", 
utf8::textEncodingName(encoding));
+                log_unimpl("%s to utf8 conversion in XML input parsing",
+                        utf8::textEncodingName(encoding));
             }
             as_value dataVal(bufptr); // memory copy here (optimize?)
 
@@ -477,7 +484,8 @@
             callMethod(onDataKey, dataVal);
 
 #ifdef DEBUG_XML_LOADS
-            log_debug("Completed load, _loadThreads have now %d elements", 
_loadThreads.size());
+            log_debug("Completed load, _loadThreads have now %d elements",
+                    _loadThreads.size());
 #endif
         }
         else
@@ -520,7 +528,8 @@
     // Set a loaded property to false before starting the load.
     set_member(NSV::PROP_LOADED, false);
 
-    std::auto_ptr<IOChannel> str ( 
StreamProvider::getDefaultInstance().getStream(url) );
+    std::auto_ptr<IOChannel> str =
+            StreamProvider::getDefaultInstance().getStream(url);
     if ( ! str.get() ) 
     {
         log_error(_("Can't load XML file: %s (security?)"), url.str());
@@ -568,7 +577,6 @@
     toString(ss);
     const std::string& data = ss.str();
 
-    string_table& st = _vm.getStringTable();
     as_value customHeaders;
 
     NetworkAdapter::RequestHeaders headers;
@@ -579,7 +587,7 @@
         /// Read in our custom headers if they exist and are an
         /// array.
         Array_as* array = dynamic_cast<Array_as*>(
-                        customHeaders.to_object().get());
+                customHeaders.to_object().get());
                         
         if (array)
         {
@@ -608,7 +616,7 @@
     }
 
     as_value contentType;
-    if ( get_member(st.find("contentType"), &contentType) )
+    if (get_member(NSV::PROP_CONTENT_TYPE, &contentType))
     {
         // This should not overwrite anything set in XML.addRequestHeader();
         headers.insert(std::make_pair("Content-Type", 
contentType.to_string()));
@@ -623,7 +631,8 @@
     {
         log_error(_("Can't load XML file: %s (security?)"), url.str());
         return;
-        // TODO: this is still not correct.. we should still send onData 
later...
+        // TODO: this is still not correct.. we should still
+        // send onData later...
         //as_value nullValue; nullValue.set_null();
         //callMethod(NSV::PROP_ON_DATA, nullValue);
     }
@@ -634,10 +643,6 @@
 }
 
 
-//
-// Callbacks. These are the wrappers for the C++ functions so they'll work as
-// callbacks from within gnash.
-//
 as_value
 xml_load(const fn_call& fn)
 {
@@ -646,8 +651,6 @@
     as_value   rv = false;
     bool          ret;
 
-    //GNASH_REPORT_FUNCTION;
-  
     boost::intrusive_ptr<XML_as> xml_obj = ensureType<XML_as>(fn.this_ptr);
   
     if ( ! fn.nargs )
@@ -714,7 +717,7 @@
 as_value
 xml_new(const fn_call& fn)
 {
-    as_value      inum;
+    as_value inum;
     boost::intrusive_ptr<XML_as> xml_obj;
   
     if ( fn.nargs > 0 )
@@ -725,7 +728,8 @@
             xml_obj = boost::dynamic_pointer_cast<XML_as>(obj);
             if ( xml_obj )
             {
-                log_debug(_("Cloned the XML object at %p"), (void 
*)xml_obj.get());
+                log_debug(_("Cloned the XML object at %p"),
+                       (void *)xml_obj.get());
                 return as_value(xml_obj->cloneNode(true).get());
             }
         }
@@ -734,8 +738,8 @@
         if ( xml_in.empty() )
         {
             IF_VERBOSE_ASCODING_ERRORS(
-            log_aserror(_("First arg given to XML constructor (%s) evaluates 
to the empty string"),
-                    fn.arg(0));
+            log_aserror(_("First arg given to XML constructor (%s) "
+                    "evaluates to the empty string"), fn.arg(0));
             );
         }
         else
@@ -746,7 +750,6 @@
     }
 
     xml_obj = new XML_as;
-    //log_debug(_("\tCreated New XML object at %p"), xml_obj);
 
     return as_value(xml_obj.get());
 }

=== modified file 'libcore/asobj/XML_as.h'
--- a/libcore/asobj/XML_as.h    2008-09-17 11:23:01 +0000
+++ b/libcore/asobj/XML_as.h    2008-09-18 08:40:46 +0000
@@ -227,13 +227,6 @@
 
 DSOEXPORT void xml_class_init(as_object& global);
 
-// Exporting this is a temporary hack for not changing xmlsocket.cpp now
-// (xmlsocket_xml_new calls xml_new)
-DSOEXPORT as_value xml_new(const fn_call& fn);
-
-DSOEXPORT int memadjust(int x);
-
-
 }      // end namespace gnash
 
 #endif

=== modified file 'libcore/edit_text_character.cpp'
--- a/libcore/edit_text_character.cpp   2008-09-17 07:27:11 +0000
+++ b/libcore/edit_text_character.cpp   2008-09-18 08:40:46 +0000
@@ -1828,12 +1828,12 @@
                if ( swfVer > 5 )
                {
                        assert(iface);
-                       
assert(cl->getOwnProperty(vm.getStringTable().find("prototype")));
+                       assert(cl->getOwnProperty(NSV::PROP_PROTOTYPE));
                }
                else
                {
                        assert(!iface);
-                       
assert(!cl->getOwnProperty(vm.getStringTable().find("prototype")));
+                       assert(!cl->getOwnProperty(NSV::PROP_PROTOTYPE));
                }
 #endif
 

=== modified file 'libcore/namedStrings.cpp'
--- a/libcore/namedStrings.cpp  2008-09-17 13:12:23 +0000
+++ b/libcore/namedStrings.cpp  2008-09-18 08:34:47 +0000
@@ -47,15 +47,19 @@
        string_table::svt( "concat", NSV::PROP_CONCAT ),        
        string_table::svt( "constructor", NSV::PROP_CONSTRUCTOR ),
        string_table::svt( "__constructor__", NSV::PROP_uuCONSTRUCTORuu ),
+       string_table::svt( "contentType", NSV::PROP_CONTENT_TYPE),
        string_table::svt( "_currentframe", NSV::PROP_uCURRENTFRAME ),
        string_table::svt( "_customHeaders", NSV::PROP_uCUSTOM_HEADERS ),
        string_table::svt( "d", NSV::PROP_D ),
+       string_table::svt( "e", NSV::PROP_E ),  
        string_table::svt( "_droptarget", NSV::PROP_uDROPTARGET ),
        string_table::svt( "enabled", NSV::PROP_ENABLED ),
        string_table::svt( "useHandCursor", NSV::PROP_USEHANDCURSOR ),
        string_table::svt( "_focusrect", NSV::PROP_uFOCUSRECT ),
        string_table::svt( "_framesloaded", NSV::PROP_uFRAMESLOADED ),
        string_table::svt( "_height", NSV::PROP_uHEIGHT ),
+    string_table::svt( "g", NSV::PROP_G ),
+    string_table::svt( "h", NSV::PROP_H ),
        string_table::svt( "height", NSV::PROP_HEIGHT ),
        string_table::svt( "_highquality", NSV::PROP_uHIGHQUALITY ),
        string_table::svt( "htmlText", NSV::PROP_HTML_TEXT ),
@@ -66,6 +70,7 @@
        string_table::svt( "length", NSV::PROP_LENGTH ),
        string_table::svt( "_listeners", NSV::PROP_uLISTENERS ),
        string_table::svt( "loaded", NSV::PROP_LOADED ),
+       string_table::svt( "matrixType", NSV::PROP_MATRIX_TYPE),
        string_table::svt( "_name", NSV::PROP_uNAME ),
        string_table::svt( "onLoad", NSV::PROP_ON_LOAD ),
        string_table::svt( "onClose", NSV::PROP_ON_CLOSE ),
@@ -109,6 +114,7 @@
        string_table::svt( "__proto__", NSV::PROP_uuPROTOuu ),
        string_table::svt( "prototype", NSV::PROP_PROTOTYPE ),
        string_table::svt( "push", NSV::PROP_PUSH ),
+       string_table::svt( "r", NSV::PROP_R ),
        string_table::svt( "removeListener", NSV::PROP_REMOVE_LISTENER ),
        string_table::svt( "rightMargin", NSV::PROP_RIGHT_MARGIN ),
        string_table::svt( "_rotation", NSV::PROP_uROTATION ),
@@ -125,6 +131,7 @@
        string_table::svt( "textWidth", NSV::PROP_TEXT_WIDTH ),
        string_table::svt( "textHeight", NSV::PROP_TEXT_HEIGHT ),
        string_table::svt( "toString", NSV::PROP_TO_STRING ),
+       string_table::svt( "toLowerCase", NSV::PROP_TO_LOWER_CASE ),
        string_table::svt( "_totalframes", NSV::PROP_uTOTALFRAMES ),
        string_table::svt( "tx", NSV::PROP_TX ),
        string_table::svt( "ty", NSV::PROP_TY ),
@@ -132,6 +139,7 @@
        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( "w", NSV::PROP_W ),
        string_table::svt( "_width", NSV::PROP_uWIDTH ),
        string_table::svt( "width", NSV::PROP_WIDTH ),
        string_table::svt( "x", NSV::PROP_X ),
@@ -195,15 +203,14 @@
        string_table::svt( "", NSV::INTERNAL_INTERFACES )
 };
 
-void load_strings(string_table *table, int version)
+void loadStrings(string_table &table, int version)
 {
        if (version < 7)
        {
-               //table->lower_next_group();
-               table->set_insensitive();
+               table.set_insensitive();
        }
 
-       table->insert_group(preload_names,
+       table.insert_group(preload_names,
                sizeof (preload_names) / sizeof (string_table::svt));
 }
 

=== modified file 'libcore/namedStrings.h'
--- a/libcore/namedStrings.h    2008-09-17 13:12:23 +0000
+++ b/libcore/namedStrings.h    2008-09-18 08:34:47 +0000
@@ -48,11 +48,59 @@
 /// be used if you know their key value already.
 namespace NSV {
 
-typedef enum {
-        PROP_A = 1,
+enum NamedStrings {
+               CLASS_ACCESSIBILITY = 1,
+               CLASS_ARRAY,
+               CLASS_AS_BROADCASTER,
+               CLASS_BOOLEAN,
+               CLASS_BUTTON,
+               CLASS_CAMERA,
+               CLASS_COLOR,
+               CLASS_CONTEXT_MENU,
+               CLASS_CUSTOM_ACTIONS,
+               CLASS_DATE,
+               CLASS_ERROR,
+               CLASS_FUNCTION,
+               CLASS_KEY,
+               CLASS_LOAD_VARS,
+               CLASS_MATH,
+               CLASS_MICROPHONE,
+               CLASS_MOUSE,
+               CLASS_MOVIE_CLIP,
+               CLASS_MOVIE_CLIP_LOADER,
+               CLASS_NET_CONNECTION,
+               CLASS_NET_STREAM,
+               CLASS_NUMBER,
+               CLASS_OBJECT,
+               CLASS_SELECTION,
+               CLASS_SHARED_OBJECT,
+               CLASS_SOUND,
+               CLASS_STAGE,
+               PROP_iSTAGE = CLASS_STAGE,
+               CLASS_STRING,
+               CLASS_SYSTEM,
+               CLASS_TEXT_FIELD,
+               CLASS_TEXT_FORMAT,
+               CLASS_TEXT_SNAPSHOT,
+               CLASS_VIDEO,
+               CLASS_X_M_L,
+               CLASS_X_M_L_NODE,
+               CLASS_X_M_L_SOCKET,
+               NS_ADOBE_UTILS,
+               NS_FLASH_ACCESSIBILITY,
+               NS_FLASH_DISPLAY,
+               NS_FLASH_EVENTS,
+               NS_FLASH_GEOM,
+               NS_FLASH_MEDIA,
+               NS_FLASH_NET,
+               NS_FLASH_SYSTEM,
+               NS_FLASH_TEXT,
+               NS_FLASH_UI,
+               NS_FLASH_UTILS,
+               NS_FLASH_XML,
+        PROP_A,
                PROP_ADD_LISTENER,
                PROP_ALIGN,
-               PROP_uALPHA,
                PROP_B,
                PROP_BLOCK_INDENT,
                PROP_BOLD,
@@ -61,161 +109,121 @@
                PROP_C,
                PROP_CALLEE,
                PROP_CALLER,
+               //PROP_COLOR, // clashes with CLASS_COLOR in case-insensitive 
mode
                PROP_CONCAT,
-               //PROP_COLOR, // clashes with CLASS_COLOR in case-insensitive 
mode
                PROP_CONSTRUCTOR,
-               PROP_uuCONSTRUCTORuu,
-               PROP_uCURRENTFRAME,
-               PROP_uCUSTOM_HEADERS,
+               PROP_CONTENT_TYPE,
                PROP_D,
-               PROP_uDROPTARGET,
+               PROP_E,
                PROP_ENABLED,
-               PROP_USEHANDCURSOR,
-               PROP_uFOCUSRECT,
-               PROP_uFRAMESLOADED,
+        PROP_G,
+               PROP_H,
                PROP_HEIGHT,
-               PROP_uHEIGHT,
-               PROP_uHIGHQUALITY,
                PROP_HTML_TEXT,
                PROP_INDENT,
                PROP_ITALIC,
                PROP_LEADING,
                PROP_LEFT_MARGIN,
                PROP_LENGTH,
-               PROP_uLISTENERS,
                PROP_LOADED,
-               PROP_uNAME,
-               PROP_ON_LOAD,
+               PROP_MATRIX_TYPE,
                PROP_ON_CLOSE,
-               PROP_ON_LOAD_START,
-               PROP_ON_LOAD_ERROR,
-               PROP_ON_LOAD_PROGRESS,
-               PROP_ON_LOAD_INIT,
-               PROP_ON_UNLOAD,
-               PROP_ON_ENTER_FRAME,
+               PROP_ON_CONNECT,
                PROP_ON_CONSTRUCT,
-               PROP_ON_INITIALIZE,
                PROP_ON_DATA,
-               PROP_ON_RESIZE,
+               PROP_ON_DRAG_OUT,
+               PROP_ON_DRAG_OVER,
+               PROP_ON_ENTER_FRAME,
                PROP_ON_FULLSCREEN,
+               PROP_ON_INITIALIZE,
+               PROP_ON_KEY_DOWN,
+               PROP_ON_KEY_PRESS,
+               PROP_ON_KEY_UP,
+               PROP_ON_KILL_FOCUS,
+               PROP_ON_LOAD,
+               PROP_ON_LOAD_ERROR,
+               PROP_ON_LOAD_INIT,
+               PROP_ON_LOAD_PROGRESS,
+               PROP_ON_LOAD_START,
+               PROP_ON_META_DATA,
+               PROP_ON_MOUSE_DOWN,
+               PROP_ON_MOUSE_MOVE,
+               PROP_ON_MOUSE_UP,
                PROP_ON_PRESS,
                PROP_ON_RELEASE,
                PROP_ON_RELEASE_OUTSIDE,
+               PROP_ON_RESIZE,
+               PROP_ON_RESULT,
                PROP_ON_ROLL_OUT,
                PROP_ON_ROLL_OVER,
-               PROP_ON_DRAG_OVER,
-               PROP_ON_DRAG_OUT,
-               PROP_ON_KEY_PRESS,
-               PROP_ON_KEY_DOWN,
-               PROP_ON_KEY_UP,
-               PROP_ON_MOUSE_DOWN,
-               PROP_ON_MOUSE_UP,
-               PROP_ON_MOUSE_MOVE,
+               PROP_ON_SELECT,
                PROP_ON_SET_FOCUS,
-               PROP_ON_KILL_FOCUS,
-               PROP_ON_SELECT,
                PROP_ON_STATUS,
-               PROP_ON_RESULT,
-               PROP_ON_META_DATA,
-               PROP_ON_CONNECT,
+               PROP_ON_TIMER,
+               PROP_ON_UNLOAD,
                PROP_ON_XML,
                PROP_PARSE_XML,
-               PROP_ON_TIMER,
-               PROP_uPARENT,
-               PROP_uROOT,
-               PROP_uGLOBAL,
-               PROP_uuPROTOuu,
                PROP_PROTOTYPE,
                PROP_PUSH,
+               PROP_R,
                PROP_REMOVE_LISTENER,
                PROP_RIGHT_MARGIN,
-               PROP_uROTATION,
                PROP_SCALE_MODE,
                PROP_SIZE,
-               PROP_uSOUNDBUFTIME,
                PROP_SPLICE,
+               PROP_STATUS,
                PROP_SUPER,
-               PROP_iSTAGE,
-               CLASS_STAGE = PROP_iSTAGE,
-               PROP_STATUS,
-               PROP_uTARGET,
                PROP_TEXT,
                PROP_TEXT_COLOR,
+               PROP_TEXT_HEIGHT,
                PROP_TEXT_WIDTH,
-               PROP_TEXT_HEIGHT,
+               PROP_TO_LOWER_CASE,
                PROP_TO_STRING,
-               PROP_uTOTALFRAMES,
                PROP_TX,
                PROP_TY,
+               PROP_uALPHA,
+               PROP_uCURRENTFRAME,
+               PROP_uCUSTOM_HEADERS,
+               PROP_uDROPTARGET,
+               PROP_uFOCUSRECT,
+               PROP_uFRAMESLOADED,
+               PROP_uGLOBAL,
+               PROP_uHEIGHT,
+               PROP_uHIGHQUALITY,
+               PROP_uLISTENERS,
+               PROP_uNAME,
                PROP_UNDERLINE,
+               PROP_uPARENT,
+               PROP_uROOT,
+               PROP_uROTATION,
+               PROP_USEHANDCURSOR,
+               PROP_uSOUNDBUFTIME,
+               PROP_uTARGET,
+               PROP_uTOTALFRAMES,
+               PROP_uuCONSTRUCTORuu,
+               PROP_uuPROTOuu,
                PROP_uURL,
-               PROP_VALUE_OF,
                PROP_uVISIBLE,
-               PROP_WIDTH,
                PROP_uWIDTH,
-               PROP_X,
                PROP_uX,
                PROP_uXMOUSE,
                PROP_uXSCALE,
-               PROP_Y,
                PROP_uY,
                PROP_uYMOUSE,
                PROP_uYSCALE,
-               CLASS_SYSTEM,
-               CLASS_MOVIE_CLIP,
-               CLASS_TEXT_FIELD,
-               CLASS_BUTTON,
-               CLASS_MATH,
-               CLASS_BOOLEAN,
-               CLASS_COLOR,
-               CLASS_SELECTION,
-               CLASS_SOUND,
-               CLASS_X_M_L_SOCKET,
-               CLASS_DATE,
-               CLASS_X_M_L,
-               CLASS_X_M_L_NODE,
-               CLASS_MOUSE,
-               CLASS_OBJECT,
-               CLASS_NUMBER,
-               CLASS_STRING,
-               CLASS_ACCESSIBILITY,
-               CLASS_ARRAY,
-               CLASS_KEY,
-               CLASS_AS_BROADCASTER,
-               CLASS_FUNCTION,
-               CLASS_TEXT_SNAPSHOT,
-               CLASS_TEXT_FORMAT,
-               CLASS_VIDEO,
-               CLASS_CAMERA,
-               CLASS_MICROPHONE,
-               CLASS_SHARED_OBJECT,
-               CLASS_LOAD_VARS,
-               CLASS_CUSTOM_ACTIONS,
-               CLASS_NET_CONNECTION,
-               CLASS_NET_STREAM,
-               CLASS_CONTEXT_MENU,
-               CLASS_MOVIE_CLIP_LOADER,
-               CLASS_ERROR,
-               NS_FLASH_DISPLAY,
-               NS_FLASH_TEXT,
-               NS_FLASH_GEOM,
-               NS_FLASH_NET,
-               NS_FLASH_SYSTEM,
-               NS_FLASH_UTILS,
-               NS_FLASH_EVENTS,
-               NS_FLASH_ACCESSIBILITY,
-               NS_FLASH_MEDIA,
-               NS_FLASH_XML,
-               NS_FLASH_UI,
-               NS_ADOBE_UTILS,
-               INTERNAL_TYPE, // The type name
+               PROP_VALUE_OF,
+               PROP_W,
+               PROP_WIDTH,
+               PROP_X,
+               PROP_Y,
+               INTERNAL_INTERFACES,
                INTERNAL_STACK_PARENT, // Any public property is unsafe
-               INTERNAL_INTERFACES
-       } named_strings;
+               INTERNAL_TYPE // The type name
+       };
 
 /// Load the prenamed strings.
 /// version controls case
-void load_strings(string_table *table, int version);
+void loadStrings(string_table &table, int version);
 
 } // namespace NSV
 } // namespace gnash

=== modified file 'libcore/sprite_instance.cpp'
--- a/libcore/sprite_instance.cpp       2008-09-17 08:27:34 +0000
+++ b/libcore/sprite_instance.cpp       2008-09-18 08:34:47 +0000
@@ -800,8 +800,7 @@
     boost::intrusive_ptr<as_object> methodstr = fn.arg(1).to_object();
     assert(methodstr);
     
-    string_table& st = sprite->getVM().getStringTable();
-    as_value lc = methodstr->callMethod(st.find(PROPNAME("toLowerCase")));
+    as_value lc = methodstr->callMethod(NSV::PROP_TO_LOWER_CASE);
     std::string methodstring = lc.to_string(); 
   
     if ( methodstring == "get" ) method = 1;
@@ -1012,8 +1011,7 @@
     return as_value(0);
   }
 
-  string_table& st = sprite->getVM().getStringTable();
-  as_value lc = o->callMethod(st.find(PROPNAME("toLowerCase")));
+  as_value lc = o->callMethod(NSV::PROP_TO_LOWER_CASE);
 
   log_debug(_("after call to toLowerCase with arg %s we got %s"), v, lc);
 
@@ -1698,7 +1696,8 @@
   if ( fn.nargs > 5 )
   {
     std::stringstream ss; fn.dump_args(ss);
-    log_aserror(_("MovieClip.beginGradientFill(%s): args after the first five 
will be discarded"), ss.str());
+    log_aserror(_("MovieClip.beginGradientFill(%s): args after "
+            "the first five will be discarded"), ss.str());
   }
   );
 
@@ -1736,9 +1735,6 @@
     return as_value();
   }
 
-  VM& vm = sprite->getVM();
-  string_table& st = vm.getStringTable();
-
   // ----------------------------
   // Parse matrix
   // ----------------------------
@@ -1762,22 +1758,14 @@
   matrix mat;
   matrix input_matrix;
 
-  string_table::key keyT = st.find(PROPNAME("matrixType"));
-  if ( matrixArg->getMember(keyT).to_string() == "box" )
+  if ( matrixArg->getMember(NSV::PROP_MATRIX_TYPE).to_string() == "box" )
   {
     
-    // TODO: add to namedStrings.{cpp,h}
-    static const string_table::key keyX = st.find("x");
-    static const string_table::key keyY = st.find("y");
-    static const string_table::key keyW = st.find("w");
-    static const string_table::key keyH = st.find("h");
-    static const string_table::key keyR = st.find("r");
-
-    boost::int32_t valX = 
PIXELS_TO_TWIPS(matrixArg->getMember(keyX).to_number()); 
-    boost::int32_t valY = 
PIXELS_TO_TWIPS(matrixArg->getMember(keyY).to_number()); 
-    boost::int32_t valW = 
PIXELS_TO_TWIPS(matrixArg->getMember(keyW).to_number()); 
-    boost::int32_t valH = 
PIXELS_TO_TWIPS(matrixArg->getMember(keyH).to_number()); 
-    float valR = matrixArg->getMember(keyR).to_number(); 
+    boost::int32_t valX = 
PIXELS_TO_TWIPS(matrixArg->getMember(NSV::PROP_X).to_number()); 
+    boost::int32_t valY = 
PIXELS_TO_TWIPS(matrixArg->getMember(NSV::PROP_Y).to_number()); 
+    boost::int32_t valW = 
PIXELS_TO_TWIPS(matrixArg->getMember(NSV::PROP_W).to_number()); 
+    boost::int32_t valH = 
PIXELS_TO_TWIPS(matrixArg->getMember(NSV::PROP_H).to_number()); 
+    float valR = matrixArg->getMember(NSV::PROP_R).to_number(); 
 
     if ( radial )
     {
@@ -1810,20 +1798,12 @@
   }
   else
   {
-    // TODO: add to namedStrings.{cpp,h}
-    static const string_table::key keyA = st.find("a");
-    static const string_table::key keyB = st.find("b");
-    static const string_table::key keyD = st.find("d");
-    static const string_table::key keyE = st.find("e");
-    static const string_table::key keyG = st.find("g");
-    static const string_table::key keyH = st.find("h");
-
-    float valA = matrixArg->getMember(keyA).to_number() ; // xx
-    float valB = matrixArg->getMember(keyB).to_number() ; // yx
-    float valD = matrixArg->getMember(keyD).to_number() ; // xy
-    float valE = matrixArg->getMember(keyE).to_number() ; // yy
-    boost::int32_t valG = 
PIXELS_TO_TWIPS(matrixArg->getMember(keyG).to_number()); // x0
-    boost::int32_t valH = 
PIXELS_TO_TWIPS(matrixArg->getMember(keyH).to_number()); // y0
+    float valA = matrixArg->getMember(NSV::PROP_A).to_number() ; // xx
+    float valB = matrixArg->getMember(NSV::PROP_B).to_number() ; // yx
+    float valD = matrixArg->getMember(NSV::PROP_D).to_number() ; // xy
+    float valE = matrixArg->getMember(NSV::PROP_E).to_number() ; // yy
+    boost::int32_t valG = 
PIXELS_TO_TWIPS(matrixArg->getMember(NSV::PROP_G).to_number()); // x0
+    boost::int32_t valH = 
PIXELS_TO_TWIPS(matrixArg->getMember(NSV::PROP_H).to_number()); // y0
 
     input_matrix.sx  = valA * 65536; // sx
     input_matrix.shx = valB * 65536; // shy
@@ -1901,6 +1881,9 @@
     ngradients = 8;
   }
 
+  VM& vm = sprite->getVM();
+  string_table& st = vm.getStringTable();
+
   std::vector<gradient_record> gradients;
   gradients.reserve(ngradients);
   for (size_t i=0; i<ngradients; ++i)
@@ -2646,7 +2629,7 @@
 
   as_value str(fspecStr);
 
-  double num =  str.to_number();
+  double num = str.to_number();
 
   //log_debug("get_frame_number(%s), num: %g", frame_spec, num);
 

=== modified file 'libcore/vm/VM.cpp'
--- a/libcore/vm/VM.cpp 2008-09-11 14:20:25 +0000
+++ b/libcore/vm/VM.cpp 2008-09-18 08:14:55 +0000
@@ -60,7 +60,7 @@
        _singleton.reset(new VM(movie, clock));
 
        assert(_singleton.get());
-       NSV::load_strings(&_singleton->mStringTable, 
_singleton->getSWFVersion());
+       NSV::loadStrings(_singleton->mStringTable, _singleton->getSWFVersion());
 
        _singleton->mClassHierarchy.reset(new ClassHierarchy);
        _singleton->setGlobal(new Global(*_singleton, 
_singleton->mClassHierarchy.get()));


reply via email to

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