writerfilter/source/dmapper/PropertyMap.cxx | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-)
New commits: commit 0ba2f0d2e5aa7e854a5e5a435948523577a5e89a Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Mon Nov 18 10:01:25 2024 +0000 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Fri Nov 22 10:31:16 2024 +0100 crashtesting: crash on import of rtf exported from forum-en-32886.odt see: git diff -w Change-Id: Id50e45e53b7b433d6c468038a7de14441f4ee560 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176707 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176988 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index 393142483710..eaadc04e6381 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -1213,18 +1213,25 @@ void SectionPropertyMap::HandleMarginsHeaderFooter(DomainMapper_Impl& rDM_Impl) { uno::Reference<beans::XPropertySet> xDefaultPageStyle( rDM_Impl.GetPageStyles()->getByName("Standard"), uno::UNO_QUERY_THROW); - for (const beans::Property& rProp : m_aPageStyle->getPropertySetInfo()->getProperties()) + if (!m_aPageStyle) { - if (!rProp.Name.startsWith("Fill")) // only copy XATTR_FILL properties - continue; - try - { - const uno::Any aFillValue = xDefaultPageStyle->getPropertyValue(rProp.Name); - m_aPageStyle->setPropertyValue(rProp.Name, aFillValue); - } - catch (uno::Exception&) + SAL_WARN( "writerfilter", "No Page Style!" ); + } + else + { + for (const beans::Property& rProp : m_aPageStyle->getPropertySetInfo()->getProperties()) { - DBG_UNHANDLED_EXCEPTION("writerfilter", "Exception setting page background fill"); + if (!rProp.Name.startsWith("Fill")) // only copy XATTR_FILL properties + continue; + try + { + const uno::Any aFillValue = xDefaultPageStyle->getPropertyValue(rProp.Name); + m_aPageStyle->setPropertyValue(rProp.Name, aFillValue); + } + catch (uno::Exception&) + { + DBG_UNHANDLED_EXCEPTION("writerfilter", "Exception setting page background fill"); + } } } }