gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/asobj/xmlnode.cpp server...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/asobj/xmlnode.cpp server...
Date: Tue, 17 Apr 2007 12:58:21 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  07/04/17 12:58:20

Modified files:
        .              : ChangeLog 
        server/asobj   : xmlnode.cpp xmlnode.h 
        testsuite/actionscript.all: XML.as 

Log message:
                * testsuite/actionscript.all/XML.as: add test
                  showing that removeNode doesn't recurse to
                  childrens.
                * server/asobj/xmlnode.{cpp,h}: fix removeNode
                  to not delete all childrens.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2895&r2=1.2896
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlnode.cpp?cvsroot=gnash&r1=1.31&r2=1.32
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/xmlnode.h?cvsroot=gnash&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/gnash/testsuite/actionscript.all/XML.as?cvsroot=gnash&r1=1.27&r2=1.28

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2895
retrieving revision 1.2896
diff -u -b -r1.2895 -r1.2896
--- ChangeLog   17 Apr 2007 10:38:16 -0000      1.2895
+++ ChangeLog   17 Apr 2007 12:58:20 -0000      1.2896
@@ -1,5 +1,13 @@
 2007-04-17 Sandro Santilli <address@hidden>
 
+       * testsuite/actionscript.all/XML.as: add test
+         showing that removeNode doesn't recurse to
+         childrens.
+       * server/asobj/xmlnode.{cpp,h}: fix removeNode
+         to not delete all childrens.
+
+2007-04-17 Sandro Santilli <address@hidden>
+
        * libbase/: tu_file.{cpp,h}, curl_adapter.cpp, zlib_adapter.cpp,
          noseek_fd_adapter.cpp:
          Add another callback for getting stream error. First pass at

Index: server/asobj/xmlnode.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlnode.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -b -r1.31 -r1.32
--- server/asobj/xmlnode.cpp    16 Apr 2007 18:23:06 -0000      1.31
+++ server/asobj/xmlnode.cpp    17 Apr 2007 12:58:20 -0000      1.32
@@ -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: xmlnode.cpp,v 1.31 2007/04/16 18:23:06 strk Exp $ */
+/* $Id: xmlnode.cpp,v 1.32 2007/04/17 12:58:20 strk Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -121,7 +121,6 @@
 #ifdef DEBUG_MEMORY_ALLOCATION
     log_msg("\tDeleting XMLNode data %s at %p", this->_name.c_str(), this);
 #endif
-  
 }
 
 bool
@@ -173,8 +172,8 @@
 boost::intrusive_ptr<XMLNode> 
 XMLNode::cloneNode(bool deep)
 {
-    GNASH_REPORT_FUNCTION;
-    log_msg("%s: deep is %d\n", __PRETTY_FUNCTION__, deep);
+    //GNASH_REPORT_FUNCTION;
+    //log_msg("%s: deep is %d", __PRETTY_FUNCTION__, deep);
 
     boost::intrusive_ptr<XMLNode> newnode = new XMLNode(*this, deep);
 
@@ -185,8 +184,6 @@
 XMLNode::insertBefore(boost::intrusive_ptr<XMLNode> newnode, 
boost::intrusive_ptr<XMLNode> pos)
 {
     // find iterator for positional parameter
-    log_msg("%s: unimplemented \n", __PRETTY_FUNCTION__);
-
     ChildList::iterator it = find(_children.begin(), _children.end(), pos);
     if ( it == _children.end() )
     {
@@ -216,8 +213,6 @@
     {
         oldparent->_children.remove(this);
     }
-    _children.clear();
-    _attributes.clear();
     _parent = NULL;
     assert(get_ref_count() > 0);
 }
@@ -466,7 +461,7 @@
 static as_value
 xmlnode_clonenode(const fn_call& fn)
 {
-    GNASH_REPORT_FUNCTION;
+    //GNASH_REPORT_FUNCTION;
 //    log_msg("%s: %d args\n", __PRETTY_FUNCTION__, fn.nargs);
     boost::intrusive_ptr<XMLNode> ptr = ensureType<XMLNode>(fn.this_ptr);
 
@@ -480,7 +475,7 @@
 static as_value
 xmlnode_insertbefore(const fn_call& fn)
 {
-    GNASH_REPORT_FUNCTION;
+       //GNASH_REPORT_FUNCTION;
     boost::intrusive_ptr<XMLNode> ptr = ensureType<XMLNode>(fn.this_ptr);
 
        if ( fn.nargs < 2 )
@@ -526,7 +521,7 @@
 static as_value
 xmlnode_removenode(const fn_call& fn)
 {
-    GNASH_REPORT_FUNCTION;
+    //GNASH_REPORT_FUNCTION;
     boost::intrusive_ptr<XMLNode> ptr = ensureType<XMLNode>(fn.this_ptr);
     
     ptr->removeNode();

Index: server/asobj/xmlnode.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/xmlnode.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/asobj/xmlnode.h      10 Apr 2007 10:46:19 -0000      1.12
+++ server/asobj/xmlnode.h      17 Apr 2007 12:58:20 -0000      1.13
@@ -225,7 +225,7 @@
 
     void toString(std::ostream& str) const;
 
-    void  change_stack_frame(int frame, gnash::as_object *xml, 
gnash::as_environment *env);
+    //void  change_stack_frame(int frame, gnash::as_object *xml, 
gnash::as_environment *env);
 
     // We might turn this back to a dumb pointer, as long
     // as we'll make sure in the XMLNode destructor and

Index: testsuite/actionscript.all/XML.as
===================================================================
RCS file: /sources/gnash/gnash/testsuite/actionscript.all/XML.as,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- testsuite/actionscript.all/XML.as   10 Apr 2007 10:46:19 -0000      1.27
+++ testsuite/actionscript.all/XML.as   17 Apr 2007 12:58:20 -0000      1.28
@@ -20,7 +20,7 @@
 // compile this test case with Ming makeswf, and then
 // execute it like this gnash -1 -r 0 -v out.swf
 
-rcsid="$Id: XML.as,v 1.27 2007/04/10 10:46:19 strk Exp $";
+rcsid="$Id: XML.as,v 1.28 2007/04/17 12:58:20 strk Exp $";
 
 #include "dejagnu.as"
 #include "utils.as"
@@ -487,6 +487,18 @@
 check_equals(deepcln_node.parentNode, null);
 
 
+xml1 = new XML("<X1T><X1C1><X1C1C1></X1C1C1></X1C1><X1C2></X1C2></X1T>");
+check_equals(xml1.firstChild.childNodes.length, 2);
+fc = xml1.firstChild.firstChild;
+check_equals(fc.nodeName, 'X1C1');
+check_equals(fc.childNodes.length, 1);
+check_equals(fc.parentNode, xml1.firstChild);
+fc.removeNode(); // removes xml1.firstChild.firstChil (X1C1)
+check_equals(xml1.firstChild.childNodes.length, 1);
+check_equals(fc.parentNode, null);
+check_equals(fc.nodeName, 'X1C1');
+check_equals(fc.childNodes.length, 1); // childs of the removed child are 
still alive !
+check_equals(fc.childNodes[0].parentNode, fc); // and still point to the 
removed child !
 
 //------------------------------------------------
 // Other tests..




reply via email to

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