From 0da5552fdf1424de1f275e85c90eb3ab73a5b945 Mon Sep 17 00:00:00 2001 From: Oleg Korshul Date: Mon, 20 Jun 2022 15:50:10 +0300 Subject: [PATCH] Fix allfonts path --- Common/base.pri | 5 +++++ DesktopEditor/doctrenderer/config.h | 8 +++++++- DesktopEditor/doctrenderer/docbuilder_p.cpp | 3 +-- DesktopEditor/doctrenderer/doctrenderer.cpp | 3 +-- DesktopEditor/doctrenderer/doctrenderer.pro | 1 + 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Common/base.pri b/Common/base.pri index 93cf076a43..813547fb85 100644 --- a/Common/base.pri +++ b/Common/base.pri @@ -172,6 +172,11 @@ core_windows { QMAKE_CXXFLAGS -= -Zc:strictStrings QMAKE_CXXFLAGS += /MP + MSVC_VERSION_DETECT = $$(VisualStudioVersion) + greaterThan(MSVC_VERSION_DETECT, 15.0) { + CONFIG += vs2019 + } + vs2019 { QMAKE_CXXFLAGS_RELEASE -= -permissive- QMAKE_CXXFLAGS -= -permissive- diff --git a/DesktopEditor/doctrenderer/config.h b/DesktopEditor/doctrenderer/config.h index b188e5d9a0..78f288bde0 100644 --- a/DesktopEditor/doctrenderer/config.h +++ b/DesktopEditor/doctrenderer/config.h @@ -82,6 +82,12 @@ namespace NSDoctRenderer public: + void SetAllFontsExternal(const std::wstring& sFilePath) + { + m_strAllFonts = private_GetFile(NSFile::GetProcessDirectory() + L"/", sFilePath); + m_bIsNotUseConfigAllFontsDir = true; + } + void Parse(const std::wstring& sWorkDir) { m_arrFiles.clear(); @@ -112,7 +118,7 @@ namespace NSDoctRenderer std::wstring sAllFontsPath = oNode.ReadNodeText(L"allfonts"); if (!sAllFontsPath.empty()) { - m_strAllFonts = sAllFontsPath; + m_strAllFonts = private_GetFile(sConfigDir, sAllFontsPath); } } m_arrFiles.push_back(private_GetFile(sConfigDir, m_strAllFonts)); diff --git a/DesktopEditor/doctrenderer/docbuilder_p.cpp b/DesktopEditor/doctrenderer/docbuilder_p.cpp index 68bf3a6ac5..86f9a683c6 100644 --- a/DesktopEditor/doctrenderer/docbuilder_p.cpp +++ b/DesktopEditor/doctrenderer/docbuilder_p.cpp @@ -680,8 +680,7 @@ namespace NSDoctRenderer } else if (sParam == "--all-fonts-path") { - m_pInternal->m_strAllFonts = std::wstring(value); - m_pInternal->m_bIsNotUseConfigAllFontsDir = true; + m_pInternal->SetAllFontsExternal(std::wstring(value)) } else if (sParam == "--argument") { diff --git a/DesktopEditor/doctrenderer/doctrenderer.cpp b/DesktopEditor/doctrenderer/doctrenderer.cpp index 06dad73afc..e90bafd984 100644 --- a/DesktopEditor/doctrenderer/doctrenderer.cpp +++ b/DesktopEditor/doctrenderer/doctrenderer.cpp @@ -256,8 +256,7 @@ namespace NSDoctRenderer { if (!sAllFontsPath.empty()) { - m_strAllFonts = sAllFontsPath; - m_bIsNotUseConfigAllFontsDir = true; + SetAllFontsExternal(sAllFontsPath); } CDoctRendererConfig::Parse(sConfigDir); diff --git a/DesktopEditor/doctrenderer/doctrenderer.pro b/DesktopEditor/doctrenderer/doctrenderer.pro index a0373928b8..bb33fca10b 100644 --- a/DesktopEditor/doctrenderer/doctrenderer.pro +++ b/DesktopEditor/doctrenderer/doctrenderer.pro @@ -32,6 +32,7 @@ doct_renderer_empty { SOURCES += doctrenderer_empty.cpp } else { HEADERS += \ + config.h \ doctrenderer.h \ docbuilder.h