gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/avm2 r9563: Add another overload of Machin


From: Tom Stellard
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9563: Add another overload of Machine::get_property_value method.
Date: Sat, 13 Sep 2008 16:38:38 +0800
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9563
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sat 2008-09-13 16:38:38 +0800
message:
  Add another overload of Machine::get_property_value method.
modified:
  libcore/vm/Machine.cpp
  libcore/vm/Machine.h
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp    2008-09-13 03:22:53 +0000
+++ b/libcore/vm/Machine.cpp    2008-09-13 08:38:38 +0000
@@ -2700,7 +2700,15 @@
 }
 
 as_value Machine::get_property_value(boost::intrusive_ptr<as_object> obj, 
asName multiname){
-       as_environment::ScopeStack stack;
+
+       std::string ns = 
mPoolObject->mStringPool[multiname.getNamespace()->getAbcURI()];
+       std::string name = mPoolObject->mStringPool[multiname.getABCName()];
+       return get_property_value(obj,name,ns);
+}
+
+as_value Machine::get_property_value(boost::intrusive_ptr<as_object> obj, 
std::string name, std::string ns){
+
+as_environment::ScopeStack stack;
        as_environment env = as_environment(_vm);
        if(obj == NULL){
                stack = *getScopeStack();
@@ -2708,17 +2716,15 @@
        else{
                stack.push_back(obj);
        }
-       std::string ns = 
mPoolObject->mStringPool[multiname.getNamespace()->getAbcURI()];
        std::string path;
        if(ns.size() == 0){
-               path = mPoolObject->mStringPool[multiname.getABCName()];
+               path = name;
        }
        else{
-               path = ns + "." + 
mPoolObject->mStringPool[multiname.getABCName()];
+               path = ns + "." + name;
        }
 
        return env.get_variable(path,stack,NULL);
-               
 }
 
 void Machine::print_stack(){

=== modified file 'libcore/vm/Machine.h'
--- a/libcore/vm/Machine.h      2008-09-11 15:23:21 +0000
+++ b/libcore/vm/Machine.h      2008-09-13 08:38:38 +0000
@@ -257,6 +257,8 @@
 
        as_value get_property_value(boost::intrusive_ptr<as_object> obj, asName 
multiname);
 
+       as_value get_property_value(boost::intrusive_ptr<as_object> obj, 
std::string name, std::string ns);
+
        void print_stack();
 
        void print_scope_stack();


reply via email to

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