[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash/server/swf ASHandlers.cpp
From: |
Vitaly Alexeev |
Subject: |
[Gnash-commit] gnash/server/swf ASHandlers.cpp |
Date: |
Mon, 12 Jun 2006 17:28:12 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Vitaly Alexeev <alexeev> 06/06/12 17:28:12
Modified files:
server/swf : ASHandlers.cpp
Log message:
add ActionDeleteVar
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/ASHandlers.cpp?cvsroot=gnash&r1=1.6&r2=1.7
Patches:
Index: ASHandlers.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/ASHandlers.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- ASHandlers.cpp 7 Jun 2006 03:03:22 -0000 1.6
+++ ASHandlers.cpp 12 Jun 2006 17:28:12 -0000 1.7
@@ -979,10 +979,25 @@
bool
SWFHandlers::ActionDeleteVar(as_environment &env)
{
+// GNASH_REPORT_FUNCTION;
+ as_value var = env.pop();
+ as_value object = env.top(0);
+ if (object.get_type() == as_value::OBJECT)
+ {
+ as_object* obj = (as_object*) object.to_object();
+ if (obj)
+ {
+ // set to NaN and eventually release memory
+ obj->set_member(var.to_tu_string(),
&as_value());
+
+ // TODO: remove a member from object if it
there is
+
+ env.top(0).set_bool(true);
+ return true;
+ }
+ }
-// as_value var = env.pop();
-// as_value obj = env.top(0);
-// env.top(0).set_bool(false);
+ env.top(0).set_bool(false);
return false;
}
- [Gnash-commit] gnash/server/swf ASHandlers.cpp,
Vitaly Alexeev <=