[Top][All Lists]
[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)