gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/avm2 r9474: Fix incorrect stack actions in


From: Tom Stellard
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9474: Fix incorrect stack actions in INITPROPERTY and NEWCLASS opcodes.
Date: Sun, 17 Aug 2008 18:51:27 +0800
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9474
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sun 2008-08-17 18:51:27 +0800
message:
  Fix incorrect stack actions in INITPROPERTY and NEWCLASS opcodes.
modified:
  libcore/vm/Machine.cpp
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp    2008-08-17 10:33:43 +0000
+++ b/libcore/vm/Machine.cpp    2008-08-17 10:51:27 +0000
@@ -1374,7 +1374,8 @@
                boost::uint32_t cid = mStream->read_V32();
                asClass *c = pool_class(cid, mPoolObject);
                LOG_DEBUG_AVM("Creating new class id=%u 
name=%s",c->getName(),mPoolObject->mStringPool[c->getName()]);
-
+               
+               as_object* base_class = pop_stack().to_object().get();
                as_object* new_class = new as_object();
                //Create the class.
                abc_function* constructor = new 
abc_function(c->getConstructor()->getBody());
@@ -1612,9 +1613,7 @@
                boost::uint32_t index = mStream->read_V32();
                asName a = pool_name(index, mPoolObject);
                as_value v = pop_stack();
-               //TODO: There may or may not be a namespace, or a name object 
on the stack, we need to figure 
-               //out how to determine what is on the stack.
-               as_value ns = pop_stack();
+               //TODO: If multiname is a runtime mutiname we need to also pop 
name and namespace values.
                as_value object = pop_stack();
                LOG_DEBUG_AVM("Initializing property ABC_id=%u name=%s on 
object 
%s",a.getABCName(),mPoolObject->mStringPool[a.getABCName()],object.toDebugString());
 


reply via email to

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