[Top][All Lists]
[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);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/swf.h server/vm/ASHandle...,
Sandro Santilli <=