diff --git a/HtmlFile2/HTMLReader.cpp b/HtmlFile2/HTMLReader.cpp index f8b7d59893..9cd1e6252b 100644 --- a/HtmlFile2/HTMLReader.cpp +++ b/HtmlFile2/HTMLReader.cpp @@ -1095,6 +1095,9 @@ bool CHTMLReader::ReadTable(std::vector& arSelectors) oTable.SetAlign(pStyle->m_oDisplay.GetHAlign().ToWString()); //------ + if (!m_mTags[HTML_TAG(TABLE)]->Open(arSelectors, &oTable)) + return false; + int nDeath = m_oLightReader.GetDepth(); while(m_oLightReader.ReadNextSiblingNode(nDeath)) { @@ -1118,9 +1121,6 @@ bool CHTMLReader::ReadTable(std::vector& arSelectors) oTable.Shorten(); oTable.CompleteTable(); - if (!m_mTags[HTML_TAG(TABLE)]->Open(arSelectors, &oTable)) - return false; - #define CONVERT_ROWS(rows, parse_mode)\ {\ const std::vector arRows{rows};\ diff --git a/HtmlFile2/Tags/MDTags.cpp b/HtmlFile2/Tags/MDTags.cpp index 02ba8d9346..a65d64fdc4 100644 --- a/HtmlFile2/Tags/MDTags.cpp +++ b/HtmlFile2/Tags/MDTags.cpp @@ -207,8 +207,8 @@ bool CImage::Open(const std::vector& arSelectors, const std::wstring wsAlt, wsSrc, wsTitle; - if (!(arSelectors.back().GetAttributeValue(L"src", wsSrc) && - arSelectors.back().GetAttributeValue(L"alt", wsAlt))) + if (!arSelectors.back().GetAttributeValue(L"src", wsSrc) && + !arSelectors.back().GetAttributeValue(L"alt", wsAlt)) return false; arSelectors.back().GetAttributeValue(L"title", wsTitle); diff --git a/HtmlFile2/Writers/MDWriter.cpp b/HtmlFile2/Writers/MDWriter.cpp index 61a09cb4a3..b4282cdde9 100644 --- a/HtmlFile2/Writers/MDWriter.cpp +++ b/HtmlFile2/Writers/MDWriter.cpp @@ -102,12 +102,14 @@ void CMDWriter::PageBreak() void CMDWriter::BeginBlock() { - WriteBreakLine(); + if (!m_arStates.top().m_bInList) + WriteBreakLine(); } void CMDWriter::EndBlock(bool bAddBlock) { - WriteBreakLine(); + if (!m_arStates.top().m_bInTable) + WriteBreakLine(); } void CMDWriter::SetDataOutput(XmlString* pOutputData)