diff options
Diffstat (limited to 'filter/source/xsltfilter/LibXSLTTransformer.cxx')
-rw-r--r-- | filter/source/xsltfilter/LibXSLTTransformer.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx index 949f383c1f47..82ac99f9e7dd 100644 --- a/filter/source/xsltfilter/LibXSLTTransformer.cxx +++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx @@ -47,6 +47,7 @@ #include <LibXSLTTransformer.hxx> #include <OleHandler.hxx> +#include <boost/scoped_ptr.hpp> using namespace ::rtl; using namespace ::cppu; @@ -307,11 +308,11 @@ namespace XSLT xsltSetGenericDebugFunc(stderr, NULL); xsltDebugDumpExtensions(NULL); #endif - OleHandler* oh = new OleHandler(m_transformer->getComponentContext()); + boost::scoped_ptr<OleHandler> oh(new OleHandler(m_transformer->getComponentContext())); if (styleSheet) { tcontext = xsltNewTransformContext(styleSheet, doc); - tcontext->_private = static_cast<void *> (oh); + tcontext->_private = static_cast<void *> (oh.get()); xsltQuoteUserParams(tcontext, ¶ms[0]); result = xsltApplyStylesheetUser(styleSheet, doc, 0, 0, 0, tcontext); @@ -340,7 +341,7 @@ namespace XSLT m_transformer->error(msg); } closeOutput(); - delete(oh); + oh.reset(); xsltFreeStylesheet(styleSheet); xsltFreeTransformContext(tcontext); xmlFreeDoc(doc); |