diff --git a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp
index a262d2824f5..6e0120abf7d 100644
--- a/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp
+++ b/mozilla/htmlparser/src/nsHTMLToTXTSinkStream.cpp
@@ -759,7 +759,13 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode)
printf(" '%s' ", text.ToNewCString());
#endif
- if (type == eHTMLTag_text)
+ if (mTagStackIndex > 1 && mTagStack[mTagStackIndex-2] == eHTMLTag_select)
+ {
+ // Don't output the contents of SELECT elements;
+// Might be nice, eventually, to output just the selected element.
+ return NS_OK;
+ }
+ else if (type == eHTMLTag_text)
{
Write(text);
}
diff --git a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp
index a262d2824f5..6e0120abf7d 100644
--- a/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp
+++ b/mozilla/parser/htmlparser/src/nsHTMLToTXTSinkStream.cpp
@@ -759,7 +759,13 @@ nsHTMLToTXTSinkStream::AddLeaf(const nsIParserNode& aNode)
printf(" '%s' ", text.ToNewCString());
#endif
- if (type == eHTMLTag_text)
+ if (mTagStackIndex > 1 && mTagStack[mTagStackIndex-2] == eHTMLTag_select)
+ {
+ // Don't output the contents of SELECT elements;
+// Might be nice, eventually, to output just the selected element.
+ return NS_OK;
+ }
+ else if (type == eHTMLTag_text)
{
Write(text);
}