Fixed problem with RVT cleanup related to some exslt functions (reported
authorWilliam M. Brack <wbrack@src.gnome.org>
Sat, 16 Jun 2007 14:44:09 +0000 (14:44 +0000)
committerWilliam M. Brack <wbrack@src.gnome.org>
Sat, 16 Jun 2007 14:44:09 +0000 (14:44 +0000)
* libxslt/transform.c: Fixed problem with RVT cleanup related
  to some exslt functions (reported on the list by Marc Adkins).

svn path=/trunk/; revision=1433

ChangeLog
libxslt/transform.c

index 742b282..8a3abef 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Jun 16 07:42:18 PDT 2007 William Brack <wbrack@mmm.com.hk>
+
+       * libxslt/transform.c: Fixed problem with RVT cleanup related
+         to some exslt functions (reported on the list by Marc Adkins).
+
 Wed Jun 13 13:27:48 PDT 2007 William Brack <wbrack@mmm.com.hk>
 
        * tests/exslt/common/node-set.9.[xml,xsl,out],
index c4ce075..1b74a80 100644 (file)
@@ -3054,6 +3054,10 @@ xsltApplyXSLTTemplate(xsltTransformContextPtr ctxt,
            /* Need to housekeep localRVTBase */
            if (tmp == ctxt->localRVTBase)
                ctxt->localRVTBase = curdoc;
+           if (tmp->prev)
+               tmp->prev->next = (xmlNodePtr) curdoc;
+           if (curdoc)
+               curdoc->prev = tmp->prev;
            xsltReleaseRVT(ctxt, tmp);
        } while (curdoc != oldLocalFragmentTop);
     }