From 8e38736cf5bbaf72541d895fd8a97176cb09669f Mon Sep 17 00:00:00 2001 From: "Elena.Subbotina" Date: Fri, 15 Dec 2023 12:05:20 +0300 Subject: [PATCH] for bug #65516 --- Common/OfficeFileFormatChecker2.cpp | 9 ++++++--- X2tConverter/src/ASCConverters.cpp | 13 ++++++++++++- X2tConverter/src/cextracttools.h | 6 ++++-- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/Common/OfficeFileFormatChecker2.cpp b/Common/OfficeFileFormatChecker2.cpp index 95cdb929b8..bfaba2dbdc 100644 --- a/Common/OfficeFileFormatChecker2.cpp +++ b/Common/OfficeFileFormatChecker2.cpp @@ -35,9 +35,12 @@ #include "../DesktopEditor/xml/include/xmlutils.h" #include "../OOXML/Base/Base.h" #include "../OfficeUtils/src/OfficeUtils.h" -// #if defined FILE_FORMAT_CHECKER_WITH_MACRO -// #include "../MsBinaryFile/PptFile/Main/PPTFormatLib.h" -// #endif + +//#define FILE_FORMAT_CHECKER_WITH_MACRO + +#if defined FILE_FORMAT_CHECKER_WITH_MACRO + #include "../MsBinaryFile/PptFile/Main/PPTFormatLib.h" + #endif #include "3dParty/pole/pole.h" #include diff --git a/X2tConverter/src/ASCConverters.cpp b/X2tConverter/src/ASCConverters.cpp index e82484ea6f..c159474b3c 100644 --- a/X2tConverter/src/ASCConverters.cpp +++ b/X2tConverter/src/ASCConverters.cpp @@ -630,8 +630,12 @@ namespace NExtractTools } else nRes = AVS_FILEUTILS_ERROR_CONVERT_PARAMS; + if (SUCCEEDED_X2T(nRes)) { + std::wstring sFileToCurrent = *params.m_sFileTo; + params.changeFormatFrom(*params.m_nFormatFrom, params.m_bMacro); + nRes = fromDocxDir(sDocxDir, sTo, nFormatTo, params, convertParams); } } @@ -964,8 +968,12 @@ namespace NExtractTools } else nRes = AVS_FILEUTILS_ERROR_CONVERT_PARAMS; + if (SUCCEEDED_X2T(nRes)) { + std::wstring sFileToCurrent = *params.m_sFileTo; + params.changeFormatFrom(*params.m_nFormatFrom, params.m_bMacro); + nRes = fromXlsxDir(sXlsxDir, sTo, nFormatTo, params, convertParams); } } @@ -1235,8 +1243,12 @@ namespace NExtractTools } else nRes = AVS_FILEUTILS_ERROR_CONVERT_PARAMS; + if (SUCCEEDED_X2T(nRes)) { + std::wstring sFileToCurrent = *params.m_sFileTo; + params.changeFormatFrom(*params.m_nFormatFrom, params.m_bMacro); + nRes = fromPptxDir(sPptxDir, sTo, nFormatTo, params, convertParams); } return nRes; @@ -2007,7 +2019,6 @@ namespace NExtractTools #ifndef BUILD_X2T_AS_LIBRARY_DYLIB NSDoctRenderer::CDocBuilder::Dispose(); #endif - if (SUCCEEDED_X2T(result) && oInputParams.m_bOutputConvertCorrupted) { return AVS_FILEUTILS_ERROR_CONVERT_CORRUPTED; diff --git a/X2tConverter/src/cextracttools.h b/X2tConverter/src/cextracttools.h index fc5ec8382b..f14711d38e 100644 --- a/X2tConverter/src/cextracttools.h +++ b/X2tConverter/src/cextracttools.h @@ -953,8 +953,10 @@ namespace NExtractTools { nFormatFrom = FileFormatChecker.nFileType; *m_nFormatFrom = nFormatFrom; - // changeFormatFrom(nFormatFrom, FileFormatChecker.bMacroEnabled); // - неверно - чекер не определяет ТОЧНО наличие макросов. - // Это только при открытии файла + + // changeFormatFrom(nFormatFrom, FileFormatChecker.bMacroEnabled); + // - неверно - чекер не определяет ТОЧНО наличие макросов. + // только при открытии файла // После открытия нужно проверять параметр m_bMacro } }