gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/avm2 r9481: Clean up IFFALSE opcode.


From: Tom Stellard
Subject: [Gnash-commit] /srv/bzr/gnash/avm2 r9481: Clean up IFFALSE opcode.
Date: Sun, 17 Aug 2008 22:00:06 +0800
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 9481
committer: Tom Stellard <address@hidden>
branch nick: gnash_dev
timestamp: Sun 2008-08-17 22:00:06 +0800
message:
  Clean up IFFALSE opcode.
modified:
  libcore/vm/Machine.cpp
=== modified file 'libcore/vm/Machine.cpp'
--- a/libcore/vm/Machine.cpp    2008-08-17 12:00:37 +0000
+++ b/libcore/vm/Machine.cpp    2008-08-17 14:00:06 +0000
@@ -537,9 +537,13 @@
 /// Do: If a is 'false', move by jump in stream, as ABC_ACTION_JUMP does.
        case SWF::ABC_ACTION_IFFALSE:
        {
-               bool truth = mStack.top(0).to_bool();
-               mStack.drop(1);
-               JUMPIF(!truth);
+               bool truth = pop_stack().to_bool();
+               if(!truth){
+                       LOG_DEBUG_AVM("Jumping...");
+                       boost::int32_t bytes = mStream->read_S24();
+                       LOG_DEBUG_AVM("%d bytes.",bytes);
+                       mStream->seekBy(bytes);
+               }
                break;
        }
 /// 0x13 ABC_ACTION_IFEQ


reply via email to

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