X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/78d14f80e9a72041ede52c30d912ec5cef21b1b3..8af27d1dee477e3e52aa60d73b19d46f531374b7:/src/xrc/xml.cpp?ds=inline diff --git a/src/xrc/xml.cpp b/src/xrc/xml.cpp index d6ba14d820..cf48cf0038 100644 --- a/src/xrc/xml.cpp +++ b/src/xrc/xml.cpp @@ -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) { - delete m_properties; - delete m_children; + wxDELETE(m_properties); + wxDELETE(m_children); DoCopy(node); return *this; } @@ -284,8 +303,7 @@ wxXmlDocument::wxXmlDocument(const wxString& filename, wxXmlIOType 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)) { - delete m_root; - m_root = NULL; + wxDELETE(m_root); } } @@ -312,7 +329,7 @@ wxXmlDocument::wxXmlDocument(const wxXmlDocument& doc) wxXmlDocument& wxXmlDocument::operator=(const wxXmlDocument& doc) { - delete m_root; + wxDELETE(m_root); DoCopy(doc); return *this; } @@ -398,8 +415,7 @@ void wxXmlDocument::AddHandler(wxXmlIOHandler *handler) void wxXmlDocument::CleanUpHandlers() { - delete sm_handlers; - sm_handlers = NULL; + wxDELETE(sm_handlers); }