Index: xfa/fde/xml/fde_xml_imp.cpp |
diff --git a/xfa/fde/xml/fde_xml_imp.cpp b/xfa/fde/xml/fde_xml_imp.cpp |
index f630a8995e3c51ee381bd1162e6479708d6c3e3d..446db86950c3edc88a46aa2d93736158f031fa5b 100644 |
--- a/xfa/fde/xml/fde_xml_imp.cpp |
+++ b/xfa/fde/xml/fde_xml_imp.cpp |
@@ -77,17 +77,15 @@ |
CFDE_XMLNode::~CFDE_XMLNode() { |
DeleteChildren(); |
} |
- |
void CFDE_XMLNode::DeleteChildren() { |
- CFDE_XMLNode* pChild = m_pChild; |
- while (pChild) { |
- CFDE_XMLNode* pNext = pChild->m_pNext; |
- delete pChild; |
- pChild = pNext; |
- } |
- m_pChild = nullptr; |
-} |
- |
+ CFDE_XMLNode *pChild = m_pChild, *pTemp; |
+ while (pChild != NULL) { |
+ pTemp = pChild->m_pNext; |
+ pChild->Release(); |
+ pChild = pTemp; |
+ } |
+ m_pChild = NULL; |
+} |
int32_t CFDE_XMLNode::CountChildNodes() const { |
int32_t iCount = 0; |
CFDE_XMLNode* pChild = m_pChild; |
@@ -512,9 +510,6 @@ |
: m_wsTarget(wsTarget) { |
ASSERT(m_wsTarget.GetLength() > 0); |
} |
- |
-CFDE_XMLInstruction::~CFDE_XMLInstruction() {} |
- |
CFDE_XMLNode* CFDE_XMLInstruction::Clone(FX_BOOL bRecursive) { |
CFDE_XMLInstruction* pClone = new CFDE_XMLInstruction(m_wsTarget); |
if (!pClone) { |
@@ -832,12 +827,8 @@ |
} |
InsertChildNode(new CFDE_XMLText(wsText)); |
} |
- |
CFDE_XMLText::CFDE_XMLText(const CFX_WideString& wsText) |
: CFDE_XMLNode(), m_wsText(wsText) {} |
- |
-CFDE_XMLText::~CFDE_XMLText() {} |
- |
CFDE_XMLNode* CFDE_XMLText::Clone(FX_BOOL bRecursive) { |
CFDE_XMLText* pClone = new CFDE_XMLText(m_wsText); |
return pClone; |
@@ -845,9 +836,6 @@ |
CFDE_XMLCharData::CFDE_XMLCharData(const CFX_WideString& wsCData) |
: CFDE_XMLDeclaration(), m_wsCharData(wsCData) {} |
- |
-CFDE_XMLCharData::~CFDE_XMLCharData() {} |
- |
CFDE_XMLNode* CFDE_XMLCharData::Clone(FX_BOOL bRecursive) { |
CFDE_XMLCharData* pClone = new CFDE_XMLCharData(m_wsCharData); |
return pClone; |
@@ -872,19 +860,23 @@ |
m_pRoot->DeleteChildren(); |
} |
} else { |
- delete m_pRoot; |
- m_pRoot = nullptr; |
+ if (m_pRoot != NULL) { |
+ m_pRoot->Release(); |
+ m_pRoot = NULL; |
+ } |
} |
ReleaseParser(); |
} |
- |
void CFDE_XMLDoc::ReleaseParser() { |
- delete m_pXMLParser; |
- m_pXMLParser = nullptr; |
- delete m_pSyntaxParser; |
- m_pSyntaxParser = nullptr; |
-} |
- |
+ if (m_pXMLParser != NULL) { |
+ m_pXMLParser->Release(); |
+ m_pXMLParser = NULL; |
+ } |
+ if (m_pSyntaxParser != NULL) { |
+ m_pSyntaxParser->Release(); |
+ m_pSyntaxParser = NULL; |
+ } |
+} |
FX_BOOL CFDE_XMLDoc::LoadXML(IFX_Stream* pXMLStream, |
int32_t iXMLPlaneSize, |
int32_t iTextDataSize, |
@@ -927,23 +919,21 @@ |
} |
return TRUE; |
} |
- |
-FX_BOOL CFDE_XMLDoc::LoadXML(IFDE_XMLParser* pXMLParser) { |
- if (!pXMLParser) |
+FX_BOOL CFDE_XMLDoc::LoadXML(CFDE_XMLParser* pXMLParser) { |
+ if (pXMLParser == NULL) { |
return FALSE; |
- |
+ } |
Reset(TRUE); |
m_pXMLParser = pXMLParser; |
- return TRUE; |
-} |
- |
+ return m_pXMLParser != NULL; |
+} |
int32_t CFDE_XMLDoc::DoLoad(IFX_Pause* pPause) { |
if (m_iStatus >= 100) { |
return m_iStatus; |
} |
+ ASSERT(m_pXMLParser != NULL); |
return m_iStatus = m_pXMLParser->DoParser(pPause); |
} |
- |
void CFDE_XMLDoc::CloseXML() { |
ReleaseParser(); |
} |