patch from Vasily Tchekalkin fixing bug #111420 about double
authorDaniel Veillard <veillard@src.gnome.org>
Wed, 23 Apr 2003 15:04:45 +0000 (15:04 +0000)
committerDaniel Veillard <veillard@src.gnome.org>
Wed, 23 Apr 2003 15:04:45 +0000 (15:04 +0000)
*  libxslt/extensions.c: patch from Vasily Tchekalkin fixing
   bug #111420 about double initialization of extension contexts
Daniel

ChangeLog
libxslt/extensions.c

index fa9fb93..ea40b9d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Wed Apr 23 17:00:16 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+       *  libxslt/extensions.c: patch from Vasily Tchekalkin fixing
+          bug #111420 about double initialization of extension contexts
+
 Wed Apr 23 14:25:46 CEST 2003 Daniel Veillard <daniel@veillard.com>
 
        * libxslt/transform.c: fix bug #110577 namespace in copy-of
index 48f4ed5..437722b 100644 (file)
@@ -591,6 +591,15 @@ xsltInitCtxtExt (xsltExtDataPtr styleData, xsltInitExtCtxt *ctxt,
         return;
     }
 
+    ctxtData = (xsltExtDataPtr) xmlHashLookup(ctxt->ctxt->extInfos, URI);
+    if (ctxtData != NULL) {
+#ifdef WITH_XSLT_DEBUG_EXTENSIONS
+       xsltGenericDebug(xsltGenericDebugContext,
+                        "xsltInitCtxtExt: already initialized\n");
+#endif
+        return;
+    }
+
     extData = module->initFunc(ctxt->ctxt, URI);
     if (extData == NULL) {
 #ifdef WITH_XSLT_DEBUG_EXTENSIONS