summaryrefslogtreecommitdiff
path: root/writerfilter/source/filter/WriterFilter.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'writerfilter/source/filter/WriterFilter.cxx')
-rw-r--r--writerfilter/source/filter/WriterFilter.cxx5
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;
}