[Libreoffice-commits] core.git: filter/source

Stephan Bergmann sbergman at redhat.com
Tue Jul 30 02:49:38 PDT 2013


 filter/source/xsltfilter/LibXSLTTransformer.cxx |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit 36efa8c6a8ffcad1b285caa4cfda138a900becf7
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue Jul 30 11:44:23 2013 +0200

    Related rhbz#98977: Handle multiple LibXSLTTransformer::terminate calls
    
    Trying to reproduce rhbz#98977, temporarily changing TRANSFORMATION_TIMEOUT_SEC
    (filter/source/xsltfilter/XSLTFilter.cxx) to zero, loading a dummy "Microsoft
    Excel 2003 XML (.xml)" file shows a "General input/output error" msg box and
    "Cancel" leads to a crash due to duplicate calls to m_tcontrol->terminate() from
    both XSLTFilter::importer and XSLTFilter::endDocument (both
    filter/source/xsltfilter/XSLTFilter.cxx).
    
    Change-Id: Ia103d944f3e1f14ca2cf5552ca3a48348132d38e

diff --git a/filter/source/xsltfilter/LibXSLTTransformer.cxx b/filter/source/xsltfilter/LibXSLTTransformer.cxx
index 65d3725..c0abb88 100644
--- a/filter/source/xsltfilter/LibXSLTTransformer.cxx
+++ b/filter/source/xsltfilter/LibXSLTTransformer.cxx
@@ -464,8 +464,11 @@ namespace XSLT
     void
     LibXSLTTransformer::terminate() throw (RuntimeException)
     {
-        m_Reader->terminate();
-        m_Reader->join();
+        if (m_Reader.is())
+        {
+            m_Reader->terminate();
+            m_Reader->join();
+        }
         m_Reader.clear();
         m_parameters.clear();
     }


More information about the Libreoffice-commits mailing list