]> git.saurik.com Git - wxWidgets.git/blobdiff - src/xrc/xml.cpp
PyCrust updates
[wxWidgets.git] / src / xrc / xml.cpp
index d6ba14d820a58083a769f45acbdae91f3d6961fd..cf48cf0038cb031471130a074a1d24f61c2ff6a0 100644 (file)
@@ -71,10 +71,29 @@ wxXmlNode::wxXmlNode(const wxXmlNode& node)
 
 
 
 
 
 
+wxXmlNode::~wxXmlNode()
+{
+    wxXmlNode *c, *c2;
+    for (c = m_children; c; c = c2)
+    {
+        c2 = c->m_next;
+        delete c;
+    }
+
+    wxXmlProperty *p, *p2;
+    for (p = m_properties; p; p = p2)
+    {
+        p2 = p->GetNext();
+        delete p;
+    }
+}
+
+
+
 wxXmlNode& wxXmlNode::operator=(const wxXmlNode& node)
 {
 wxXmlNode& wxXmlNode::operator=(const wxXmlNode& node)
 {
-    delete m_properties;
-    delete m_children;
+    wxDELETE(m_properties);
+    wxDELETE(m_children);
     DoCopy(node);
     return *this;
 }
     DoCopy(node);
     return *this;
 }
@@ -284,8 +303,7 @@ wxXmlDocument::wxXmlDocument(const wxString& filename, wxXmlIOType io_type)
 {
     if (!Load(filename, io_type))
     {
 {
     if (!Load(filename, io_type))
     {
-        delete m_root;
-        m_root = NULL;
+        wxDELETE(m_root);
     }
 }
 
     }
 }
 
@@ -296,8 +314,7 @@ wxXmlDocument::wxXmlDocument(wxInputStream& stream, wxXmlIOType io_type)
 {
     if (!Load(stream, io_type))
     {
 {
     if (!Load(stream, io_type))
     {
-        delete m_root;
-        m_root = NULL;
+        wxDELETE(m_root);
     }
 }
 
     }
 }
 
@@ -312,7 +329,7 @@ wxXmlDocument::wxXmlDocument(const wxXmlDocument& doc)
 
 wxXmlDocument& wxXmlDocument::operator=(const wxXmlDocument& doc)
 {
 
 wxXmlDocument& wxXmlDocument::operator=(const wxXmlDocument& doc)
 {
-    delete m_root;
+    wxDELETE(m_root);
     DoCopy(doc);
     return *this;
 }
     DoCopy(doc);
     return *this;
 }
@@ -398,8 +415,7 @@ void wxXmlDocument::AddHandler(wxXmlIOHandler *handler)
 
 void wxXmlDocument::CleanUpHandlers()
 {
 
 void wxXmlDocument::CleanUpHandlers()
 {
-    delete sm_handlers;
-    sm_handlers = NULL;
+    wxDELETE(sm_handlers);
 }
 
 
 }