[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] /srv/bzr/gnash/avm2 r9460: Make CallPropVoid opcode work.
From: |
Tom Stellard |
Subject: |
[Gnash-commit] /srv/bzr/gnash/avm2 r9460: Make CallPropVoid opcode work. |
Date: |
Wed, 13 Aug 2008 01:18:51 +0800 |
User-agent: |
Bazaar (1.5) |
------------------------------------------------------------
revno: 9460
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Wed 2008-08-13 01:18:51 +0800
message:
Make CallPropVoid opcode work.
modified:
libcore/vm/Machine.cpp
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp 2008-08-12 17:07:33 +0000
+++ b/libcore/vm/Machine.cpp 2008-08-12 17:18:51 +0000
@@ -1168,10 +1168,13 @@
case SWF::ABC_ACTION_CALLPROPLEX:
case SWF::ABC_ACTION_CALLPROPVOID:
{
- bool lex_only = (opcode == SWF::ABC_ACTION_CALLPROPLEX);
+// bool lex_only = (opcode == SWF::ABC_ACTION_CALLPROPLEX);
asName a = pool_name(mStream->read_V32(), mPoolObject);
boost::uint32_t argc = mStream->read_V32();
- int shift = completeName(a, argc);
+ std::vector<as_value> args = get_args(argc);
+ as_object object = pop_stack().to_object();
+ object.callMethod(a.getGlobalName(),args[0]);
+/* int shift = completeName(a, argc);
ENSURE_OBJECT(mStack.top(shift + argc));
as_object *obj = mStack.top(argc + shift).to_object().get();
Property *b = obj->findProperty(a.getABCName(),
@@ -1203,7 +1206,7 @@
if (opcode == SWF::ABC_ACTION_CALLPROPVOID)
pushCall(func, obj, mIgnoreReturn, argc, -shift - 1);
else
- pushCall(func, obj, mStack.top(argc + shift), argc,
-shift);
+ pushCall(func, obj, mStack.top(argc + shift), argc,
-shift);*/
break;
}
/// 0x47 ABC_ACTION_RETURNVOID
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/avm2 r9460: Make CallPropVoid opcode work.,
Tom Stellard <=