summaryrefslogtreecommitdiff
path: root/oox/source/ppt
diff options
context:
space:
mode:
Diffstat (limited to 'oox/source/ppt')
-rw-r--r--oox/source/ppt/presentationfragmenthandler.cxx7
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