diff options
Diffstat (limited to 'oox/source/ppt')
-rw-r--r-- | oox/source/ppt/presentationfragmenthandler.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
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<beans::PropertyValue> aTheme(1); + uno::Sequence<beans::PropertyValue> 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 |