From cd08835d1bd9274412c7326db32fb3752bc94fb3 Mon Sep 17 00:00:00 2001 From: Grzegorz Araminowicz Date: Mon, 29 Apr 2019 14:44:20 +0200 Subject: PPTX import: store OOXTheme in InteropGrabBag for SmartArt re-generation Change-Id: I343dc3a275ecbbb483e179d8cc2deebfb71b9c8f Reviewed-on: https://gerrit.libreoffice.org/71530 Tested-by: Jenkins Reviewed-by: Miklos Vajna --- oox/source/ppt/presentationfragmenthandler.cxx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'oox/source/ppt') diff --git a/oox/source/ppt/presentationfragmenthandler.cxx b/oox/source/ppt/presentationfragmenthandler.cxx index 90e8013b741e..689e6e162cc5 100644 --- a/oox/source/ppt/presentationfragmenthandler.cxx +++ b/oox/source/ppt/presentationfragmenthandler.cxx @@ -179,7 +179,7 @@ void PresentationFragmentHandler::saveThemeToGrabBag(const oox::drawingml::Theme // get existing grab bag comphelper::SequenceAsHashMap aGrabBag(xDocProps->getPropertyValue(aGrabBagPropName)); - uno::Sequence aTheme(1); + uno::Sequence aTheme(2); comphelper::SequenceAsHashMap aThemesHashMap; // create current theme @@ -204,6 +204,11 @@ void PresentationFragmentHandler::saveThemeToGrabBag(const oox::drawingml::Theme const uno::Any& rCurrentTheme = makeAny(aCurrentTheme); aTheme[0].Value = rCurrentTheme; + // store DOM fragment for SmartArt re-generation + aTheme[1].Name = "OOXTheme"; + const uno::Any& rOOXTheme = makeAny(pThemePtr->getFragment()); + aTheme[1].Value = rOOXTheme; + aThemesHashMap << aTheme; // put the new items -- cgit