diff options
Diffstat (limited to 'writerfilter/source/filter/WriterFilter.cxx')
-rw-r--r-- | writerfilter/source/filter/WriterFilter.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/writerfilter/source/filter/WriterFilter.cxx b/writerfilter/source/filter/WriterFilter.cxx index a043dcb2764a..5e14545b9e11 100644 --- a/writerfilter/source/filter/WriterFilter.cxx +++ b/writerfilter/source/filter/WriterFilter.cxx @@ -44,6 +44,7 @@ #include <rtl/ref.hxx> #include <sal/log.hxx> #include <tools/diagnose_ex.h> +#include <comphelper/scopeguard.hxx> using namespace ::com::sun::star; @@ -157,6 +158,9 @@ sal_Bool WriterFilter::filter(const uno::Sequence<beans::PropertyValue>& rDescri { uno::Reference<beans::XPropertySet> const xDocProps(m_xDstDoc, uno::UNO_QUERY); xDocProps->setPropertyValue("UndocumentedWriterfilterHack", uno::makeAny(true)); + comphelper::ScopeGuard g([xDocProps] { + xDocProps->setPropertyValue("UndocumentedWriterfilterHack", uno::makeAny(false)); + }); utl::MediaDescriptor aMediaDesc(rDescriptor); bool bRepairStorage = aMediaDesc.getUnpackedValueOrDefault("RepairPackage", false); bool bSkipImages @@ -283,7 +287,6 @@ sal_Bool WriterFilter::filter(const uno::Sequence<beans::PropertyValue>& rDescri pStream.clear(); // note: pStream.clear calls RemoveLastParagraph() - xDocProps->setPropertyValue("UndocumentedWriterfilterHack", uno::makeAny(false)); return true; } |