Related: fdo#65632 DOCX import: make start/end of trackchange both be an sprm

The end is an attribute since 0211e8bc45,
but this just confuses dmapper. With this, the DOCX version of the
bugdoc can now be imported without getting an exception in
DomainMapper_Impl::CreateRedline().

Change-Id: If820b43a267a62ecdc323eef49bf13d576165269
This commit is contained in:
Miklos Vajna
2013-07-17 16:56:14 +02:00
parent 7c0a155740
commit ed187fcbd4
3 changed files with 9 additions and 7 deletions

View File

@@ -1412,9 +1412,6 @@ void DomainMapper::lcl_attribute(Id nName, Value & val)
case NS_ooxml::LN_CT_Color_themeShade:
//unsupported
break;
case NS_ooxml::LN_endtrackchange:
m_pImpl->RemoveCurrentRedline( );
break;
case NS_ooxml::LN_CT_DocGrid_linePitch:
{
//see SwWW8ImplReader::SetDocumentGrid
@@ -3298,6 +3295,9 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, PropertyMapPtr rContext, SprmType
m_pImpl->EndParaChange( );
}
break;
case NS_ooxml::LN_endtrackchange:
m_pImpl->RemoveCurrentRedline( );
break;
case NS_ooxml::LN_CT_RPrChange_rPr:
break;
case NS_ooxml::LN_object:

View File

@@ -22090,7 +22090,9 @@
<action name="start" action="tokenproperty"/>
<action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:trackchange"/>
<action name="start" action="clearProps"/>
<action name="end" action="mark" sendtokenid="ooxml:endtrackchange"/>
<action name="end" action="tokenproperty"/>
<action name="end" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:endtrackchange"/>
<action name="end" action="clearProps"/>
</resource>
<resource name="EG_RangeMarkupElements" resource="Properties" tag="redlines">
<element name="bookmarkStart" tokenid="ooxml:EG_RangeMarkupElements_bookmarkStart"/>

View File

@@ -4432,10 +4432,10 @@ int RTFDocumentImpl::popState()
RTFValue::Pointer_t pTrackchange = aState.aCharacterSprms.find(NS_ooxml::LN_trackchange);
if (pTrackchange.get())
{
RTFSprms aTCAttributes;
RTFSprms aTCSprms;
RTFValue::Pointer_t pValue(new RTFValue(0));
aTCAttributes.set(NS_ooxml::LN_endtrackchange, pValue);
writerfilter::Reference<Properties>::Pointer_t const pProperties(new RTFReferenceProperties(aTCAttributes));
aTCSprms.set(NS_ooxml::LN_endtrackchange, pValue);
writerfilter::Reference<Properties>::Pointer_t const pProperties(new RTFReferenceProperties(RTFSprms(), aTCSprms));
Mapper().props(pProperties);
}