diff options
author | Michael Stahl <mstahl@redhat.com> | 2017-05-05 22:05:46 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2017-05-05 22:11:19 +0200 |
commit | e4da2e5dfa9e462e0d9c23a1a60caf4b3ef2dc56 (patch) | |
tree | d4391a40c06f57436d428486208cd81d5d1b8a3b /writerfilter/source | |
parent | 8d10be803ce0598489aa102953473fb9ea95db6e (diff) |
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
Diffstat (limited to 'writerfilter/source')
-rw-r--r-- | writerfilter/source/dmapper/PropertyMap.cxx | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 44a8bf016252..8e308940e7e0 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -1377,16 +1377,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)); + } } } } |