From f9d79dd635124889ba4bc65cf4abb3eb2c67bb77 Mon Sep 17 00:00:00 2001
From: Alberto Massari <amassari@apache.org>
Date: Fri, 3 Dec 2004 17:00:13 +0000
Subject: [PATCH] Avoid throwing an exception when orphaning a cached grammar
 that has not been used yet

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@176221 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/validators/common/GrammarResolver.cpp | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/xercesc/validators/common/GrammarResolver.cpp b/src/xercesc/validators/common/GrammarResolver.cpp
index 50c9250e0..31d27a747 100644
--- a/src/xercesc/validators/common/GrammarResolver.cpp
+++ b/src/xercesc/validators/common/GrammarResolver.cpp
@@ -16,6 +16,9 @@
 
 /*
  * $Log$
+ * Revision 1.30  2004/12/03 17:00:13  amassari
+ * Avoid throwing an exception when orphaning a cached grammar that has not been used yet
+ *
  * Revision 1.29  2004/09/29 19:27:07  cargilld
  * Fix for Jira-1217: fixing problems with getXSModel.
  *
@@ -439,7 +442,8 @@ Grammar* GrammarResolver::orphanGrammar(const XMLCh* const nameSpaceKey)
         Grammar* grammar = fGrammarPool->orphanGrammar(nameSpaceKey);
         if (grammar)
         {
-            fGrammarFromPool->removeKey(nameSpaceKey);
+            if (fGrammarFromPool->containsKey(nameSpaceKey))
+                fGrammarFromPool->removeKey(nameSpaceKey);
             return grammar;
         }       
         // It failed to remove it from the grammar pool either because it
-- 
GitLab