From a7058f0dbdd0f39b0489cc9de61828fa60b2cd3b Mon Sep 17 00:00:00 2001 From: ElenaSubbotina Date: Fri, 23 Mar 2018 18:55:06 +0300 Subject: [PATCH] . --- ASCOfficePPTXFile/PPTXFormat/Theme.h | 9 ++++++--- XlsxSerializerCom/Reader/ChartFromToBinary.cpp | 3 ++- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ASCOfficePPTXFile/PPTXFormat/Theme.h b/ASCOfficePPTXFile/PPTXFormat/Theme.h index abcd04510f..b112429da4 100644 --- a/ASCOfficePPTXFile/PPTXFormat/Theme.h +++ b/ASCOfficePPTXFile/PPTXFormat/Theme.h @@ -77,11 +77,14 @@ namespace PPTX { isThemeOverride = false; m_map = NULL; - - OOX::CDocx* docx = dynamic_cast(File::m_pMainDocument); - if (docx) docx->m_pTheme = this; read(filename, map); + + OOX::CDocx* docx = dynamic_cast(File::m_pMainDocument); + if (docx && !docx->m_pTheme && !isThemeOverride) + { + docx->m_pTheme = this; + } } virtual void read(const OOX::CPath& filename, FileMap& map) diff --git a/XlsxSerializerCom/Reader/ChartFromToBinary.cpp b/XlsxSerializerCom/Reader/ChartFromToBinary.cpp index 3c6b075f80..10379d4764 100644 --- a/XlsxSerializerCom/Reader/ChartFromToBinary.cpp +++ b/XlsxSerializerCom/Reader/ChartFromToBinary.cpp @@ -963,9 +963,10 @@ namespace BinXlsxRW OOX::CPath pathThemeOverrideFile = m_oSaveParams.sThemePath + FILE_SEPARATOR_STR + sThemeOverrideName; smart_ptr pTheme = new PPTX::Theme(NULL); - pTheme->isThemeOverride = true; pTheme->fromPPTY(&m_oBufferedStream); + pTheme->isThemeOverride = true; + NSBinPptxRW::CXmlWriter xmlWriter; pTheme->toXmlWriter(&xmlWriter);