[Libreoffice-commits] core.git: Branch 'libreoffice-7-0' - sd/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Tue Sep 15 07:57:40 UTC 2020
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 <caolanm at redhat.com>
AuthorDate: Fri Sep 11 10:04:45 2020 +0100
Commit: Miklos Vajna <vmiklos at 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 <caolanm at redhat.com>
(cherry picked from commit b7756fdde63b1eef85ef13772fc3578e345d34dc)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/102422
Reviewed-by: Miklos Vajna <vmiklos at 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);
More information about the Libreoffice-commits
mailing list