sd/source/filter/eppt/eppt.cxx | 2 ++ sd/source/filter/eppt/pptx-epptbase.cxx | 6 ++---- sd/source/filter/eppt/pptx-epptooxml.cxx | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-)
New commits: commit 80497a3f2b41c99fcd0b6987d1bfb213ea86fdb2 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Sep 11 10:04:45 2020 +0100 Commit: Miklos Vajna <vmik...@collabora.com> CommitDate: Tue Sep 15 09:57:05 2020 +0200 crashtesting: failed on export of tdf118002-1.potx to pptx because the bg isn't set a master isn't exported, so the endelement XML_sldMasterIdLst isn't exported and the document is broken so don't exit early if the propertyset isn't found and always call ImplWriteSlideMaster Modify the ppt variant PPTWriter::ImplWriteSlideMaster to do nothing on an empty propertyset allowing PowerPointExport:ImplWriteSlideMaster to output its XML_sldMasterIdLst on the last master Change-Id: I512ee10b3b3c80b6566827d708b737c6c502c3b5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102451 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> (cherry picked from commit b7756fdde63b1eef85ef13772fc3578e345d34dc) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102422 Reviewed-by: Miklos Vajna <vmik...@collabora.com> diff --git a/sd/source/filter/eppt/eppt.cxx b/sd/source/filter/eppt/eppt.cxx index 26f0dae9f234..5c1f9da7d7af 100644 --- a/sd/source/filter/eppt/eppt.cxx +++ b/sd/source/filter/eppt/eppt.cxx @@ -361,6 +361,8 @@ void PPTWriter::ImplWriteSlide( sal_uInt32 nPageNum, sal_uInt32 nMasterNum, sal_ void PPTWriter::ImplWriteSlideMaster( sal_uInt32 nPageNum, Reference< XPropertySet > const & aXBackgroundPropSet ) { + if (!aXBackgroundPropSet) + return; mpPptEscherEx->PtReplaceOrInsert( EPP_Persist_MainMaster | nPageNum, mpStrm->Tell() ); mpPptEscherEx->OpenContainer( EPP_MainMaster ); mpPptEscherEx->AddAtom( 24, EPP_SlideAtom, 2 ); diff --git a/sd/source/filter/eppt/pptx-epptbase.cxx b/sd/source/filter/eppt/pptx-epptbase.cxx index 552816e83a14..b5ce6b24958d 100644 --- a/sd/source/filter/eppt/pptx-epptbase.cxx +++ b/sd/source/filter/eppt/pptx-epptbase.cxx @@ -387,11 +387,9 @@ bool PPTWriterBase::CreateSlideMaster( sal_uInt32 nPageNum ) return false; SetCurrentStyleSheet( nPageNum ); - if ( !ImplGetPropertyValue( mXPagePropSet, "Background" ) ) // load background shape - return false; css::uno::Reference< css::beans::XPropertySet > aXBackgroundPropSet; - if ( !( mAny >>= aXBackgroundPropSet ) ) - return false; + if (ImplGetPropertyValue(mXPagePropSet, "Background")) // load background shape + mAny >>= aXBackgroundPropSet; ImplWriteSlideMaster( nPageNum, aXBackgroundPropSet ); diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx b/sd/source/filter/eppt/pptx-epptooxml.cxx index d2fca1e919c7..a8af03e34ecb 100644 --- a/sd/source/filter/eppt/pptx-epptooxml.cxx +++ b/sd/source/filter/eppt/pptx-epptooxml.cxx @@ -1272,7 +1272,8 @@ void PowerPointExport::ImplWriteSlideMaster(sal_uInt32 nPageNum, Reference< XPro pFS->startElementNS(XML_p, XML_cSld); - ImplWriteBackground(pFS, aXBackgroundPropSet); + if (aXBackgroundPropSet) + ImplWriteBackground(pFS, aXBackgroundPropSet); WriteShapeTree(pFS, MASTER, true); pFS->endElementNS(XML_p, XML_cSld); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits