From 0d79f941b9bacf6bb928c0413935df0266176115 Mon Sep 17 00:00:00 2001 From: Green Date: Tue, 10 Jun 2025 12:02:35 +0300 Subject: [PATCH] Fixed a bug with the calculation of style in html --- .../html/css/src/CCssCalculator_Private.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Common/3dParty/html/css/src/CCssCalculator_Private.cpp b/Common/3dParty/html/css/src/CCssCalculator_Private.cpp index df8064ab50..43bdccbcaf 100644 --- a/Common/3dParty/html/css/src/CCssCalculator_Private.cpp +++ b/Common/3dParty/html/css/src/CCssCalculator_Private.cpp @@ -491,6 +491,21 @@ namespace NSCSS if (arSelectors.empty()) return false; + if (L"#text" == arSelectors.back().m_wsName) + { + if (arSelectors.size() > 1) + *arSelectors.back().m_pCompiledStyle += *(arSelectors.end() - 2)->m_pCompiledStyle; + + if(arSelectors.crend() != std::find_if(arSelectors.crbegin(), arSelectors.crend(), + [](const CNode& oNode){ return IsTableElement(oNode.m_wsName); })) + { + arSelectors.back().m_pCompiledStyle->m_oBackground.Clear(); + arSelectors.back().m_pCompiledStyle->m_oBorder.Clear(); + } + + return true; + } + const std::map, CCompiledStyle>::iterator oItem = m_mUsedStyles.find(arSelectors); if (oItem != m_mUsedStyles.end())