Author: amassari
Date: Wed Aug 23 02:39:36 2006
New Revision: 433995

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

Modified:
    xerces/c/branches/xerces-2.7/src/xercesc/parsers/DOMBuilderImpl.cpp
    xerces/c/branches/xerces-2.7/src/xercesc/parsers/XercesDOMParser.cpp

Modified: xerces/c/branches/xerces-2.7/src/xercesc/parsers/DOMBuilderImpl.cpp
URL: 
http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/parsers/DOMBuilderImpl.cpp?rev=433995&r1=433994&r2=433995&view=diff
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/parsers/DOMBuilderImpl.cpp 
(original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/parsers/DOMBuilderImpl.cpp Wed Aug 
23 02:39:36 2006
@@ -628,11 +628,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&)
     {
@@ -662,11 +657,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&)
     {
@@ -692,17 +682,11 @@
 
     try
     {
-        Wrapper4DOMInputSource isWrapper((DOMInputSource*) &source, false, 
getMemoryManager());
-
         setParseInProgress(true);
         if (grammarType == Grammar::DTDGrammarType) 
             getScanner()->setDocTypeHandler(0);
+        Wrapper4DOMInputSource isWrapper((DOMInputSource*) &source, 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/branches/xerces-2.7/src/xercesc/parsers/XercesDOMParser.cpp
URL: 
http://svn.apache.org/viewvc/xerces/c/branches/xerces-2.7/src/xercesc/parsers/XercesDOMParser.cpp?rev=433995&r1=433994&r2=433995&view=diff
==============================================================================
--- xerces/c/branches/xerces-2.7/src/xercesc/parsers/XercesDOMParser.cpp 
(original)
+++ xerces/c/branches/xerces-2.7/src/xercesc/parsers/XercesDOMParser.cpp Wed 
Aug 23 02:39:36 2006
@@ -332,9 +332,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