[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/avm2 r9615: CONSTRCUTPROP opcode: Make thi
From: |
Tom Stellard |
Subject: |
[Gnash-commit] /srv/bzr/gnash/avm2 r9615: CONSTRCUTPROP opcode: Make this opcode work better when constructor is an abc_function. |
Date: |
Sun, 12 Oct 2008 10:44:20 +0800 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 9615
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sun 2008-10-12 10:44:20 +0800
message:
CONSTRCUTPROP opcode: Make this opcode work better when constructor is an
abc_function.
modified:
libcore/vm/Machine.cpp
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp 2008-10-11 19:14:49 +0000
+++ b/libcore/vm/Machine.cpp 2008-10-12 02:44:20 +0000
@@ -1325,10 +1325,12 @@
}
else{
LOG_DEBUG_AVM("Object %s is not a
constructor",constructor_val.toDebugString());
- constructor_val =
constructor_val.to_object().get()->getMember(NSV::PROP_CONSTRUCTOR,0);
- boost::intrusive_ptr<as_function> constructor =
constructor_val.to_as_function();
- boost::intrusive_ptr<as_object> newobj =
constructor->constructInstance(env, args);
- push_stack(newobj);
+ as_value val =
constructor_val.to_object().get()->getMember(NSV::PROP_CONSTRUCTOR,0);
+ as_value result =
call_method(val,&env,constructor_val.to_object().get(),args);
+ push_stack(result);
+// boost::intrusive_ptr<as_function> constructor =
constructor_val.to_as_function();
+// boost::intrusive_ptr<as_object> newobj =
constructor->constructInstance(env, args);
+// push_stack(newobj);
}
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/avm2 r9615: CONSTRCUTPROP opcode: Make this opcode work better when constructor is an abc_function.,
Tom Stellard <=