Author: amassari
Date: Wed Aug 23 02:38:46 2006
New Revision: 433994

URL: http://svn.apache.org/viewvc?rev=433994&view=rev
Log:
DOMLSParserImpl::loadGrammar should not release the previously loaded 
DOMDocument (jira#1626)

Modified:
    xerces/c/trunk/src/xercesc/parsers/DOMLSParserImpl.cpp
    xerces/c/trunk/src/xercesc/parsers/XercesDOMParser.cpp

Modified: xerces/c/trunk/src/xercesc/parsers/DOMLSParserImpl.cpp
URL: 
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/parsers/DOMLSParserImpl.cpp?rev=433994&r1=433993&r2=433994&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/parsers/DOMLSParserImpl.cpp (original)
+++ xerces/c/trunk/src/xercesc/parsers/DOMLSParserImpl.cpp Wed Aug 23 02:38:46 
2006
@@ -849,11 +849,6 @@
         if (grammarType == Grammar::DTDGrammarType) 
             getScanner()->setDocTypeHandler(0);
         grammar = getScanner()->loadGrammar(systemId, grammarType, toCache);
-
-        // Release DOM tree - DTD
-        DOMDocument* doc = adoptDocument();
-        if (doc)
-            doc->release();
     }
     catch(const OutOfMemoryException&)
     {
@@ -883,11 +878,6 @@
         if (grammarType == Grammar::DTDGrammarType) 
             getScanner()->setDocTypeHandler(0);
         grammar = getScanner()->loadGrammar(systemId, grammarType, toCache);
-
-        // Release DOM tree - DTD
-        DOMDocument* doc = adoptDocument();
-        if (doc)
-            doc->release();
     }
     catch(const OutOfMemoryException&)
     {
@@ -913,17 +903,11 @@
 
     try
     {
-        Wrapper4DOMLSInput isWrapper((DOMLSInput*)source, fEntityResolver, 
false, getMemoryManager());
-
         setParseInProgress(true);
         if (grammarType == Grammar::DTDGrammarType) 
             getScanner()->setDocTypeHandler(0);
+        Wrapper4DOMLSInput isWrapper((DOMLSInput*)source, fEntityResolver, 
false, getMemoryManager());
         grammar = getScanner()->loadGrammar(isWrapper, grammarType, toCache);
-
-        // Release DOM tree - DTD
-        DOMDocument* doc = adoptDocument();
-        if (doc)
-            doc->release();
     }
     catch(const OutOfMemoryException&)
     {

Modified: xerces/c/trunk/src/xercesc/parsers/XercesDOMParser.cpp
URL: 
http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/parsers/XercesDOMParser.cpp?rev=433994&r1=433993&r2=433994&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/parsers/XercesDOMParser.cpp (original)
+++ xerces/c/trunk/src/xercesc/parsers/XercesDOMParser.cpp Wed Aug 23 02:38:46 
2006
@@ -318,9 +318,6 @@
         if (grammarType == Grammar::DTDGrammarType) 
             getScanner()->setDocTypeHandler(0);
         grammar = getScanner()->loadGrammar(source, grammarType, toCache);
-        if (grammarType == Grammar::DTDGrammarType) 
-            getScanner()->setDocTypeHandler(this);
-        setParseInProgress(false);
     }
     catch(const OutOfMemoryException&)
     {



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to