[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash server/vm/ASHandlers.cpp ChangeLog
From: |
Bastiaan Jacques |
Subject: |
[Gnash-commit] gnash server/vm/ASHandlers.cpp ChangeLog |
Date: |
Tue, 20 Mar 2007 09:55:09 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Bastiaan Jacques <bjacques> 07/03/20 09:55:09
Modified files:
server/vm : ASHandlers.cpp
. : ChangeLog
Log message:
* server/vm/ASHandlers.cpp: In ActionDelete(), don't pop an object off
the AS stack in the hopes that it magically has a property which might
be the object that is to be deleted. Instead, traverse the stack using
delVariable().
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/vm/ASHandlers.cpp?cvsroot=gnash&r1=1.66&r2=1.67
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2635&r2=1.2636
Patches:
Index: server/vm/ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/vm/ASHandlers.cpp,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -b -r1.66 -r1.67
--- server/vm/ASHandlers.cpp 19 Mar 2007 17:11:14 -0000 1.66
+++ server/vm/ASHandlers.cpp 20 Mar 2007 09:55:08 -0000 1.67
@@ -14,7 +14,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-/* $Id: ASHandlers.cpp,v 1.66 2007/03/19 17:11:14 bjacques Exp $ */
+/* $Id: ASHandlers.cpp,v 1.67 2007/03/20 09:55:08 bjacques Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -2045,7 +2045,7 @@
void
SWFHandlers::ActionDelete(ActionExec& thread)
{
- GNASH_REPORT_FUNCTION;
+// GNASH_REPORT_FUNCTION;
as_environment& env = thread.env;
assert(thread.code[thread.pc] == SWF::ACTION_DELETE); // 0x3A
@@ -2064,36 +2064,11 @@
}
as_value var = env.pop();
- as_value object; // undefined
-
- if ( stacksize > 1 )
- {
- // I'm not sure this is correct, what happens
- // if the stack actually has an additional
- // value but it is not meant for us ??
- object = env.pop();
- }
- else
- {
- IF_VERBOSE_MALFORMED_SWF(
- log_warning("One element on the stack "
- "at ActionDelete (0x3A). "
- "Assuming 'undefined' for Object arg.");
- );
- }
-
-
- as_object* obj = (as_object*) object.to_object();
- bool ret;
- if (obj) {
- ret = obj->delProperty(var.to_std_string()).second;
- } else {
- ret = thread.delVariable(var.to_std_string());
- }
+ bool ret = thread.delVariable(var.to_std_string());
env.push(as_value(ret));
- return;
+ return;
}
void
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2635
retrieving revision 1.2636
diff -u -b -r1.2635 -r1.2636
--- ChangeLog 20 Mar 2007 09:46:19 -0000 1.2635
+++ ChangeLog 20 Mar 2007 09:55:09 -0000 1.2636
@@ -8,6 +8,10 @@
* server/as_object.h: Add ensureType<classname>, which is intended to
replace the class-specific ensureClass functions. Suggested by Ann.
* server/asobj/Boolean.cpp: Switch ensureClass to ensureType.
+ * server/vm/ASHandlers.cpp: In ActionDelete(), don't pop an object off
+ the AS stack in the hopes that it magically has a property which might
+ be the object that is to be deleted. Instead, traverse the stack using
+ delVariable().
2007-03-19 Sandro Santilli <address@hidden>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash server/vm/ASHandlers.cpp ChangeLog,
Bastiaan Jacques <=