gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/swf.h server/vm/ASHandle...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/swf.h server/vm/ASHandle...
Date: Fri, 08 Dec 2006 23:46:46 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/12/08 23:46:46

Modified files:
        .              : ChangeLog 
        server         : swf.h 
        server/vm      : ASHandlers.cpp ASHandlers.h 

Log message:
                * server/: swf.h, vm/ASHandlers.{cpp,h}:
                  Renamed ACTION_DELETE to ACTION_DELETE2
                  and ACTION_DELETEVAR to ACTION_DELETE, to reflect
                  official nomenclature (Ming's listswf also uses
                  this names)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1899&r2=1.1900
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf.h?cvsroot=gnash&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.h?cvsroot=gnash&r1=1.2&r2=1.3

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1899
retrieving revision 1.1900
diff -u -b -r1.1899 -r1.1900
--- ChangeLog   8 Dec 2006 23:25:47 -0000       1.1899
+++ ChangeLog   8 Dec 2006 23:46:46 -0000       1.1900
@@ -1,5 +1,13 @@
 2006-12-08 Sandro Santilli <address@hidden>
 
+       * server/: swf.h, vm/ASHandlers.{cpp,h}:
+         Renamed ACTION_DELETE to ACTION_DELETE2
+         and ACTION_DELETEVAR to ACTION_DELETE, to reflect
+         official nomenclature (Ming's listswf also uses
+         this names)
+
+2006-12-08 Sandro Santilli <address@hidden>
+
        * server/vm/ASHandlers.cpp (ActionDelete): use the new
          ActionExec::delVariable() method. Fixes bug #18482. 
          (ActionDeleteVar) use the new as_object::delProperty()

Index: server/swf.h
===================================================================
RCS file: /sources/gnash/gnash/server/swf.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- server/swf.h        6 Dec 2006 10:58:34 -0000       1.22
+++ server/swf.h        8 Dec 2006 23:46:46 -0000       1.23
@@ -219,11 +219,12 @@
     ACTION_CALLFRAME               = 0x9E,
     ACTION_GOTOEXPRESSION          = 0x9F,
 
-    /// action_buffer::doActionDelete
-    ACTION_DELETEVAR               = 0x3A,
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_delete
+    ACTION_DELETE                  = 0x3A,
 
-    /// action_buffer::doActionDelete2
-    ACTION_DELETE                  = 0x3B,
+    /// http://sswf.sourceforge.net/SWFalexref.html#action_delete_all
+    /// The information in SWFalexref is pretty confusing, not sure it is 
correct...
+    ACTION_DELETE2                 = 0x3B,
 
     ACTION_VAREQUALS               = 0x3C, // DEFINELOCAL actually
     ACTION_CALLFUNCTION            = 0x3D,

Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- server/vm/ASHandlers.cpp    8 Dec 2006 23:25:47 -0000       1.13
+++ server/vm/ASHandlers.cpp    8 Dec 2006 23:46:46 -0000       1.14
@@ -16,7 +16,7 @@
 
 //
 
-/* $Id: ASHandlers.cpp,v 1.13 2006/12/08 23:25:47 strk Exp $ */
+/* $Id: ASHandlers.cpp,v 1.14 2006/12/08 23:46:46 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -381,10 +381,10 @@
              string("ActionCallFrame"), SWFHandlers::ActionCallFrame, ARG_HEX);
     handlers[ACTION_GOTOEXPRESSION] = ActionHandler(ACTION_GOTOEXPRESSION,
              string("ActionGotoExpression"), 
SWFHandlers::ActionGotoExpression, ARG_HEX);
-    handlers[ACTION_DELETEVAR] = ActionHandler(ACTION_DELETEVAR,
-             string("ActionDeleteVar"), SWFHandlers::ActionDeleteVar);
     handlers[ACTION_DELETE] = ActionHandler(ACTION_DELETE,
              string("ActionDelete"), SWFHandlers::ActionDelete);
+    handlers[ACTION_DELETE2] = ActionHandler(ACTION_DELETE2,
+             string("ActionDelete2"), SWFHandlers::ActionDelete2);
     handlers[ACTION_VAREQUALS] = ActionHandler(ACTION_VAREQUALS,
              string("ActionVarEquals"), SWFHandlers::ActionVarEquals);
     handlers[ACTION_CALLFUNCTION] = ActionHandler(ACTION_CALLFUNCTION,
@@ -1998,14 +1998,16 @@
 }
 
 void
-SWFHandlers::ActionDeleteVar(ActionExec& thread)
+SWFHandlers::ActionDelete(ActionExec& thread)
 {
 //     GNASH_REPORT_FUNCTION;
        as_environment& env = thread.env;
 
+       assert(thread.code[thread.pc] == SWF::ACTION_DELETE); // 0x3A
+
        ensure_stack(env, 2); // var, object
 
-       //log_msg("ActionDeleteVar");
+       //log_msg("ActionDelete");
 
        as_value var = env.pop();
        as_value object = env.top(0);
@@ -2024,14 +2026,17 @@
 }
 
 void
-SWFHandlers::ActionDelete(ActionExec& thread)
+SWFHandlers::ActionDelete2(ActionExec& thread)
 {
 //    GNASH_REPORT_FUNCTION;
+
     as_environment& env = thread.env;
 
+       assert(thread.code[thread.pc] == SWF::ACTION_DELETE2); // 0x3B
+
     ensure_stack(env, 1); // var
 
-    // See bug #18482
+       // See bug #18482, this works fine now (assuming the bug report is 
correct)
     env.top(0) = thread.delVariable(env.top(0).to_std_string());
 }
 

Index: server/vm/ASHandlers.h
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- server/vm/ASHandlers.h      6 Dec 2006 10:58:34 -0000       1.2
+++ server/vm/ASHandlers.h      8 Dec 2006 23:46:46 -0000       1.3
@@ -213,8 +213,8 @@
        static void ActionBranchIfTrue(ActionExec& thread);
        static void ActionCallFrame(ActionExec& thread);
        static void ActionGotoExpression(ActionExec& thread);
-       static void ActionDeleteVar(ActionExec& thread);
        static void ActionDelete(ActionExec& thread);
+       static void ActionDelete2(ActionExec& thread);
        static void ActionVarEquals(ActionExec& thread);
        static void ActionCallFunction(ActionExec& thread);
        static void ActionReturn(ActionExec& thread);




reply via email to

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