[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/avm2 r9528: If we can't find a property in
From: |
Tom Stellard |
Subject: |
[Gnash-commit] /srv/bzr/gnash/avm2 r9528: If we can't find a property in the scope stack, look again using as_environment::find_object. |
Date: |
Wed, 27 Aug 2008 13:41:23 +0800 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 9528
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Wed 2008-08-27 13:41:23 +0800
message:
If we can't find a property in the scope stack, look again using
as_environment::find_object.
modified:
libcore/vm/Machine.h
=== modified file 'libcore/vm/Machine.h'
--- a/libcore/vm/Machine.h 2008-08-22 16:14:15 +0000
+++ b/libcore/vm/Machine.h 2008-08-27 05:41:23 +0000
@@ -297,7 +297,9 @@
}
print_scope_stack();
LOG_DEBUG_AVM("Cannot find property in scope stack.");
- push_stack(as_value());
+ as_environment env;
+ as_object* obj =
env.find_object(mPoolObject->mStringPool[multiname.getNamespace()->getAbcURI()],getScopeStack());
+ push_stack(as_value(obj));
}
void get_property(string_table::key name,string_table::key ns){
@@ -355,6 +357,14 @@
mRegisters.resize(16);
}
+ as_environment::ScopeStack* getScopeStack(){
+ as_environment::ScopeStack *stack = new
as_environment::ScopeStack();
+ for(int i=0;i<mAsValueScopeStack.size();i++){
+ stack->push_back(mAsValueScopeStack.top(i).to_object());
+ }
+ return stack;
+ }
+
void executeCodeblock(CodeStream* stream);
SafeStack<as_value> mStack;
- [Gnash-commit] /srv/bzr/gnash/avm2 r9528: If we can't find a property in the scope stack, look again using as_environment::find_object.,
Tom Stellard <=