From f22964e0e622af1168e241f933e5cf98e093ec2b Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Wed, 14 Jan 2015 23:01:41 +0100 Subject: rhbz#1180114: writerfilter: don't crash on w:customXmlDelRangeStart etc. We can't do anything sensible with these CustomXML elements but now we have to handle them because. (regression from 9dbf817fe5c5253fba0831aefa17575ae0ba3af1) Change-Id: If4247890ff9961a77434587802670d28608a7922 --- writerfilter/source/dmapper/DomainMapper.cxx | 6 ++++++ writerfilter/source/dmapper/DomainMapper_Impl.cxx | 3 ++- writerfilter/source/ooxml/model.xml | 16 ++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) (limited to 'writerfilter') diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index cb45bb417d21..461c138d78ba 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -2213,6 +2213,12 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext ) case NS_ooxml::LN_CT_PPr_pPrChange: case NS_ooxml::LN_trackchange: case NS_ooxml::LN_EG_RPrContent_rPrChange: + case NS_ooxml::LN_EG_RangeMarkupElements_customXmlDelRangeStart: + case NS_ooxml::LN_EG_RangeMarkupElements_customXmlDelRangeEnd: + case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveFromRangeStart: + case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveFromRangeEnd: + case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveToRangeStart: + case NS_ooxml::LN_EG_RangeMarkupElements_customXmlMoveToRangeEnd: { HandleRedline( rSprm ); } diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index 57f491f3ce49..e97c133bde42 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -4836,9 +4836,10 @@ void DomainMapper_Impl::SetCurrentRedlineId( sal_Int32 sId ) { // This should be an assert, but somebody had the smart idea to reuse this function also for comments and whatnot, // and in some cases the id is actually not handled, which may be in fact a bug. - SAL_WARN( "writerfilter", !m_currentRedline.get()); if( m_currentRedline.get()) m_currentRedline->m_nId = sId; + else + SAL_INFO("writerfilter.dmapper", "no current redline"); } } diff --git a/writerfilter/source/ooxml/model.xml b/writerfilter/source/ooxml/model.xml index fc671afda9b5..f1c721ff9d8a 100644 --- a/writerfilter/source/ooxml/model.xml +++ b/writerfilter/source/ooxml/model.xml @@ -17281,6 +17281,22 @@ + + + + + + + + + + + + + + + + -- cgit