gnash-commit
[Top][All Lists]
Advanced

[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;
 }
 




reply via email to

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