From a124f99a24fb1f2ef41e37223ea35bcc9a4eece9 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 9 Sep 2006 11:35:32 +0000 Subject: [PATCH] Apply patch [ 1554736 ] wxXmlDocument::DetachRoot git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/xmldocument.tex | 13 +++++++++++++ include/wx/xml/xml.h | 1 + 2 files changed, 14 insertions(+) diff --git a/docs/latex/wx/xmldocument.tex b/docs/latex/wx/xmldocument.tex index d42bda0f8d..c99bdae67c 100644 --- a/docs/latex/wx/xmldocument.tex +++ b/docs/latex/wx/xmldocument.tex @@ -92,6 +92,17 @@ Copy constructor. Virtual destructor. Frees the document root node. + +\membersection{wxXmlDocument::DetachRoot}\label{wxxmldocumentdetachroot} + +\func{wxXmlNode*}{DetachRoot}{\void} + +Detaches the document root node and returns it. The document root node will be set to \NULL +and thus \helpref{IsOk}{wxxmldocumentisok} will return \false after calling this function. + +Note that the caller is reponsible for deleting the returned node in order to avoid memory leaks. + + \membersection{wxXmlDocument::GetEncoding}\label{wxxmldocumentgetencoding} \constfunc{wxString}{GetEncoding}{\void} @@ -173,6 +184,8 @@ Sets the enconding of the file which will be used to save the document. \func{void}{SetRoot}{\param{wxXmlNode* }{node}} Sets the root node of this document. Deletes previous root node. +Use \helpref{DetachRoot}{wxxmlnodedetachroot} and then SetRoot if you want to +replace the root node without deleting the old document tree. \membersection{wxXmlDocument::SetVersion}\label{wxxmldocumentsetversion} diff --git a/include/wx/xml/xml.h b/include/wx/xml/xml.h index 1d7aa31dcd..10ebf5ce3c 100644 --- a/include/wx/xml/xml.h +++ b/include/wx/xml/xml.h @@ -208,6 +208,7 @@ public: wxString GetFileEncoding() const { return m_fileEncoding; } // Write-access methods: + wxXmlNode *DetachRoot() { wxXmlNode *old=m_root; m_root=NULL; return old; } void SetRoot(wxXmlNode *node) { wxDELETE(m_root); m_root = node; } void SetVersion(const wxString& version) { m_version = version; } void SetFileEncoding(const wxString& encoding) { m_fileEncoding = encoding; }