]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xml/xml.cpp
missing commit
[wxWidgets.git] / src / xml / xml.cpp
index ee78a9aca4a2da3a414c55c61ae1645de6a1f2b8..0fc27c246b23f0ff25c50347fd33ea828fc46bf7 100644 (file)
@@ -91,6 +91,22 @@ wxXmlNode::wxXmlNode(const wxXmlNode& node)
 }
 
 wxXmlNode::~wxXmlNode()
+{
+    DoFree();
+}
+
+wxXmlNode& wxXmlNode::operator=(const wxXmlNode& node)
+{
+    if ( &node != this )
+    {
+        DoFree();
+        DoCopy(node);
+    }
+
+    return *this;
+}
+
+void wxXmlNode::DoFree()
 {
     wxXmlNode *c, *c2;
     for (c = m_children; c; c = c2)
@@ -107,14 +123,6 @@ wxXmlNode::~wxXmlNode()
     }
 }
 
-wxXmlNode& wxXmlNode::operator=(const wxXmlNode& node)
-{
-    wxDELETE(m_attrs);
-    wxDELETE(m_children);
-    DoCopy(node);
-    return *this;
-}
-
 void wxXmlNode::DoCopy(const wxXmlNode& node)
 {
     m_type = node.m_type;