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)