gnash-commit
[Top][All Lists]
Advanced

[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;


reply via email to

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