diff --git a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp index 09bf1bb8de7..6ef40efd5b7 100644 --- a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp +++ b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp @@ -515,8 +515,9 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) if (!DoOutput()) return NS_OK; - if (type == eHTMLTag_p) + if (type == eHTMLTag_p || type == eHTMLTag_pre) EnsureVerticalSpace(1); // Should this be 0 in unformatted case? + // Else make sure we'll separate block level tags, // even if we're about to leave before doing any other formatting. // Oddly, I can't find a case where this actually makes any difference. @@ -579,10 +580,6 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) else mIndent += gTabSize; // Check for some maximum value? } - else if (type == eHTMLTag_pre) - { - EnsureVerticalSpace(1); - } else if (type == eHTMLTag_a) { nsAutoString url; @@ -1149,6 +1146,8 @@ nsHTMLToTXTSinkStream::Write(const nsString& aString) NS_WARN_IF_FALSE(mCurrentLine.Length() == 0, "Mixed wrapping data and nonwrapping data on the same line"); + if (mCurrentLine.Length() > 0) + FlushLine(); // Put the mail quote "> " chars in, if appropriate. // Have to put it in before every line. diff --git a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp index 09bf1bb8de7..6ef40efd5b7 100644 --- a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp +++ b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp @@ -515,8 +515,9 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) if (!DoOutput()) return NS_OK; - if (type == eHTMLTag_p) + if (type == eHTMLTag_p || type == eHTMLTag_pre) EnsureVerticalSpace(1); // Should this be 0 in unformatted case? + // Else make sure we'll separate block level tags, // even if we're about to leave before doing any other formatting. // Oddly, I can't find a case where this actually makes any difference. @@ -579,10 +580,6 @@ nsHTMLToTXTSinkStream::OpenContainer(const nsIParserNode& aNode) else mIndent += gTabSize; // Check for some maximum value? } - else if (type == eHTMLTag_pre) - { - EnsureVerticalSpace(1); - } else if (type == eHTMLTag_a) { nsAutoString url; @@ -1149,6 +1146,8 @@ nsHTMLToTXTSinkStream::Write(const nsString& aString) NS_WARN_IF_FALSE(mCurrentLine.Length() == 0, "Mixed wrapping data and nonwrapping data on the same line"); + if (mCurrentLine.Length() > 0) + FlushLine(); // Put the mail quote "> " chars in, if appropriate. // Have to put it in before every line.