) inside a .
+ // This is used primarily by mail.
+ OutputNoFormattingInPre = 8192
};
/**
diff --git a/mozilla/content/base/src/nsHTMLContentSerializer.cpp b/mozilla/content/base/src/nsHTMLContentSerializer.cpp
index e1ed60f5752..209d8f07fd1 100644
--- a/mozilla/content/base/src/nsHTMLContentSerializer.cpp
+++ b/mozilla/content/base/src/nsHTMLContentSerializer.cpp
@@ -427,6 +427,13 @@ nsHTMLContentSerializer::AppendElementStart(nsIDOMElement *aElement,
nsCOMPtr name;
content->GetTag(*getter_AddRefs(name));
+ if (name.get() == nsHTMLAtoms::br && mPreLevel > 0
+ && (mFlags & nsIDocumentEncoder::OutputNoFormattingInPre)) {
+ AppendToString(mLineBreak, aStr);
+ mColPos = 0;
+ return NS_OK;
+ }
+
if (name.get() == nsHTMLAtoms::body) {
mInBody = PR_TRUE;
}
diff --git a/mozilla/mailnews/compose/src/nsMsgSend.cpp b/mozilla/mailnews/compose/src/nsMsgSend.cpp
index e662375020e..6416f8405c5 100644
--- a/mozilla/mailnews/compose/src/nsMsgSend.cpp
+++ b/mozilla/mailnews/compose/src/nsMsgSend.cpp
@@ -1384,7 +1384,7 @@ nsMsgComposeAndSend::GetBodyFromEditor()
// Query the editor, get the body of HTML!
//
nsString format; format.AssignWithConversion(TEXT_HTML);
- PRUint32 flags = nsIDocumentEncoder::OutputFormatted;
+ PRUint32 flags = nsIDocumentEncoder::OutputFormatted | nsIDocumentEncoder::OutputNoFormattingInPre;
PRUnichar *bodyText = nsnull;
nsresult rv;
PRUnichar *origHTMLBody = nsnull;