gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/as_environment.cpp serve...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/as_environment.cpp serve...
Date: Wed, 26 Dec 2007 08:05:00 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/12/26 08:05:00

Modified files:
        .              : ChangeLog 
        server         : as_environment.cpp namedStrings.cpp 
                         namedStrings.h sprite_instance.cpp 

Log message:
        Add PROP_uROOT and PROP_uGLOBAL

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.5257&r2=1.5258
http://cvs.savannah.gnu.org/viewcvs/gnash/server/as_environment.cpp?cvsroot=gnash&r1=1.117&r2=1.118
http://cvs.savannah.gnu.org/viewcvs/gnash/server/namedStrings.cpp?cvsroot=gnash&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/gnash/server/namedStrings.h?cvsroot=gnash&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.420&r2=1.421

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5257
retrieving revision 1.5258
diff -u -b -r1.5257 -r1.5258
--- ChangeLog   26 Dec 2007 01:11:07 -0000      1.5257
+++ ChangeLog   26 Dec 2007 08:04:58 -0000      1.5258
@@ -1,3 +1,9 @@
+2007-12-26 Sandro Santilli <address@hidden>
+
+       * server/: sprite_instance.cpp, as_environment.cpp,
+         namedStrings.{cpp,h}:
+         Add PROP_uROOT and PROP_uGLOBAL
+
 2007-12-25  Rob Savoye  <address@hidden>
 
        * configure.ac: Add new security settings.

Index: server/as_environment.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/as_environment.cpp,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -b -r1.117 -r1.118
--- server/as_environment.cpp   24 Dec 2007 05:33:44 -0000      1.117
+++ server/as_environment.cpp   26 Dec 2007 08:04:59 -0000      1.118
@@ -17,7 +17,7 @@
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 //
 
-/* $Id: as_environment.cpp,v 1.117 2007/12/24 05:33:44 zoulunkai Exp $ */
+/* $Id: as_environment.cpp,v 1.118 2007/12/26 08:04:59 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -33,6 +33,7 @@
 #include "log.h"
 #include "Property.h"
 #include "as_object.h"
+#include "namedStrings.h"
 
 #include <string>
 #include <utility> // for std::pair
@@ -171,7 +172,7 @@
 
     as_object* global = vm.getGlobal();
 
-    if ( swfVersion > 5 && varname == "_global" )
+    if ( swfVersion > 5 && key == NSV::PROP_uGLOBAL )
     {
         // The "_global" ref was added in SWF6
         if ( retTarget ) *retTarget = NULL; // correct ??
@@ -633,7 +634,7 @@
 
                        // Looking for _global ?
                        as_object* global = VM::get().getGlobal();
-                       if ( swfVersion > 5 && subpart == "_global" )
+                       if ( swfVersion > 5 && subpartKey == NSV::PROP_uGLOBAL )
                        {
                                element = global;
                                break;

Index: server/namedStrings.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/namedStrings.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- server/namedStrings.cpp     21 Nov 2007 09:21:49 -0000      1.6
+++ server/namedStrings.cpp     26 Dec 2007 08:04:59 -0000      1.7
@@ -61,6 +61,8 @@
        { "onSelect", NSV::PROP_ON_SELECT },
        { "onStatus", NSV::PROP_ON_STATUS },
        { "_parent", NSV::PROP_uPARENT },
+       { "_root", NSV::PROP_uROOT },
+       { "_global", NSV::PROP_uGLOBAL },
        { "__proto__", NSV::PROP_uuPROTOuu },
        { "prototype", NSV::PROP_PROTOTYPE },
        { "push", NSV::PROP_PUSH },

Index: server/namedStrings.h
===================================================================
RCS file: /sources/gnash/gnash/server/namedStrings.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- server/namedStrings.h       21 Nov 2007 09:21:49 -0000      1.8
+++ server/namedStrings.h       26 Dec 2007 08:04:59 -0000      1.9
@@ -83,6 +83,8 @@
                PROP_ON_SELECT,
                PROP_ON_STATUS,
                PROP_uPARENT,
+               PROP_uROOT,
+               PROP_uGLOBAL,
                PROP_uuPROTOuu,
                PROP_PROTOTYPE,
                PROP_PUSH,

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.420
retrieving revision 1.421
diff -u -b -r1.420 -r1.421
--- server/sprite_instance.cpp  24 Dec 2007 10:08:32 -0000      1.420
+++ server/sprite_instance.cpp  26 Dec 2007 08:04:59 -0000      1.421
@@ -1839,14 +1839,12 @@
 bool sprite_instance::get_member(string_table::key name_key, as_value* val,
        string_table::key nsname)
 {
-       const std::string& name = VM::get().getStringTable().value(name_key);
-
        // FIXME: use addProperty interface for these !!
        // TODO: or at least have a character:: protected method take
        //       care of these ?
        //       Duplicates code in character::get_path_element_character too..
        //
-       if (name == "_root" )
+       if (name_key == NSV::PROP_uROOT)
        {
                //if ( isUnloaded() ) return false; // see 
movieclip_destruction_test3.sc
 
@@ -1855,10 +1853,20 @@
 
                return true;
        }
+
+       if ( _vm.getSWFVersion() > 5 && name_key == NSV::PROP_uGLOBAL ) // see 
MovieClip.as
+       {
+               // The "_global" ref was added in SWF6
+               val->set_as_object( _vm.getGlobal() );
+               return true;
+       }
+
+       const std::string& name = _vm.getStringTable().value(name_key);
+
        if (name.compare(0, 6, "_level") == 0 && 
name.find_first_not_of("0123456789", 7) == string::npos )
        {
                unsigned int levelno = atoi(name.c_str()+6); // getting 0 here 
for "_level" is intentional
-               movie_instance* mo = 
VM::get().getRoot().getLevel(levelno).get();
+               movie_instance* mo = _vm.getRoot().getLevel(levelno).get();
                if ( mo )
                {
                        val->set_as_object(mo);
@@ -1869,12 +1877,6 @@
                        return false;
                }
        }
-       if ( _vm.getSWFVersion() > 5 && name == "_global" ) // see MovieClip.as
-       {
-               // The "_global" ref was added in SWF6
-               val->set_as_object( _vm.getGlobal() );
-               return true;
-       }
 
        // Try object members, BEFORE display list items!
        // (see testcase VarAndCharClash.swf in testsuite/misc-ming.all)




reply via email to

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