sw/source/filter/xml/xmlimp.cxx | 43 +++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 20 deletions(-)
New commits: commit a82e7cc9ed17a2500ad8cb9ffe54c412b0d8063f Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Fri May 26 09:32:36 2023 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Fri May 26 13:46:58 2023 +0200 ofz#59338 Abrt failed_throw Change-Id: Ib70dfef2c4ecce024162409ffd8c210d6feef1eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152297 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sw/source/filter/xml/xmlimp.cxx b/sw/source/filter/xml/xmlimp.cxx index 7ae8c966c46e..594cb893ca4c 100644 --- a/sw/source/filter/xml/xmlimp.cxx +++ b/sw/source/filter/xml/xmlimp.cxx @@ -1841,26 +1841,29 @@ extern "C" SAL_DLLPUBLIC_EXPORT bool TestPDFExportFODT(SvStream &rStream) utl::ConnectFrameControllerModel(xTargetFrame, xController, xModel); - utl::MediaDescriptor aMediaDescriptor; - aMediaDescriptor["FilterName"] <<= OUString("writer_pdf_Export"); - - utl::TempFileNamed aTempFile; - aTempFile.EnableKillingFile(); - - uno::Reference<document::XFilter> xPDFFilter( - xMultiServiceFactory->createInstance("com.sun.star.document.PDFFilter"), uno::UNO_QUERY); - uno::Reference<document::XExporter> xExporter(xPDFFilter, uno::UNO_QUERY); - xExporter->setSourceDocument(xModel); - - SvFileStream aOutputStream(aTempFile.GetURL(), StreamMode::WRITE); - uno::Reference<io::XOutputStream> xOutputStream(new utl::OStreamWrapper(aOutputStream)); - - uno::Sequence<beans::PropertyValue> aDescriptor(comphelper::InitPropertySequence({ - { "FilterName", uno::Any(OUString("writer_pdf_Export")) }, - { "OutputStream", uno::Any(xOutputStream) } - })); - xPDFFilter->filter(aDescriptor); - aOutputStream.Close(); + if (ret) + { + utl::MediaDescriptor aMediaDescriptor; + aMediaDescriptor["FilterName"] <<= OUString("writer_pdf_Export"); + + utl::TempFileNamed aTempFile; + aTempFile.EnableKillingFile(); + + uno::Reference<document::XFilter> xPDFFilter( + xMultiServiceFactory->createInstance("com.sun.star.document.PDFFilter"), uno::UNO_QUERY); + uno::Reference<document::XExporter> xExporter(xPDFFilter, uno::UNO_QUERY); + xExporter->setSourceDocument(xModel); + + SvFileStream aOutputStream(aTempFile.GetURL(), StreamMode::WRITE); + uno::Reference<io::XOutputStream> xOutputStream(new utl::OStreamWrapper(aOutputStream)); + + uno::Sequence<beans::PropertyValue> aDescriptor(comphelper::InitPropertySequence({ + { "FilterName", uno::Any(OUString("writer_pdf_Export")) }, + { "OutputStream", uno::Any(xOutputStream) } + })); + xPDFFilter->filter(aDescriptor); + aOutputStream.Close(); + } css::uno::Reference<css::util::XCloseable> xClose(xModel, css::uno::UNO_QUERY); xClose->close(false);