summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2017-05-05 22:05:46 +0200
committerMichael Stahl <Michael.Stahl@cib.de>2019-08-02 14:08:18 +0200
commit4c231aeef771e05c72a28f455b9d94e7a225c043 (patch)
treeb06d84a462ea1434870c8f927eafee4918b70bdd
parentOFFICE-3776 xmloff: adapt ODF import to renamed text:sender-initials (diff)
downloadcore-4c231aeef771e05c72a28f455b9d94e7a225c043.tar.gz
core-4c231aeef771e05c72a28f455b9d94e7a225c043.zip
tdf#104407 writerfilter: fix crash with null xRangeProperties
The m_xStartingRange is null at this point for whatever reason, and the block immediately above this one already checks xRangeProperties, so let's just do the same here. (Also IsNewDoc(), where the logic between PageDescName and PageNumberOffset presumably shouldn't differ?). (started to crash with abaf6bde4ee91c628bd55a7ec2e876a5d0ecff6e as previously that code was unreachable in RTF import) Change-Id: I20539c3a753ecea357e556ea556c3c26983ce1d1 (cherry picked from commit e4da2e5dfa9e462e0d9c23a1a60caf4b3ef2dc56)
-rw-r--r--writerfilter/source/dmapper/PropertyMap.cxx12
1 files changed, 7 insertions, 5 deletions
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx
index 5f4855f472d2..7ec9379f0652 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -1357,16 +1357,18 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl )
}
if (xRangeProperties.is() && rDM_Impl.IsNewDoc())
+ {
xRangeProperties->setPropertyValue(
getPropertyName( PROP_PAGE_DESC_NAME ),
uno::makeAny( m_bTitlePage ? m_sFirstPageStyleName
: m_sFollowPageStyleName ));
- if(m_bPageNoRestart || m_nPageNumber >= 0)
- {
- sal_Int16 nPageNumber = m_nPageNumber >= 0 ? static_cast< sal_Int16 >(m_nPageNumber) : 1;
- xRangeProperties->setPropertyValue(getPropertyName( PROP_PAGE_NUMBER_OFFSET ),
- uno::makeAny( nPageNumber ));
+ if (m_bPageNoRestart || 0 <= m_nPageNumber)
+ {
+ sal_Int16 nPageNumber = m_nPageNumber >= 0 ? static_cast< sal_Int16 >(m_nPageNumber) : 1;
+ xRangeProperties->setPropertyValue(getPropertyName(PROP_PAGE_NUMBER_OFFSET),
+ uno::makeAny(nPageNumber));
+ }
}
}
}