Add a check around the WipeContaingBlock call in ContentInserted, it checks for

the select and doesn't do it. Just like Bug 18366, r=kmcclusk Bug 19949
This commit is contained in:
rods%netscape.com 1999-11-24 21:10:49 +00:00
Родитель bbc2a15492
Коммит 70fda8cdbe
2 изменённых файлов: 24 добавлений и 8 удалений

Просмотреть файл

@ -6002,10 +6002,18 @@ nsCSSFrameConstructor::ContentInserted(nsIPresContext* aPresContext,
rv = ConstructFrame(aPresContext, state, aChild, parentFrame, frameItems); rv = ConstructFrame(aPresContext, state, aChild, parentFrame, frameItems);
// Perform special check for diddling around with the frames in // XXX Bug 19949
// a special inline frame. // Although select frame are inline we do not want to call
if (WipeContainingBlock(aPresContext, state, blockContent, parentFrame, frameItems.childList)) { // WipeContainingBlock because it will throw away the entire select frame and
return NS_OK; // start over which is something we do not want to do
//
nsCOMPtr<nsIDOMHTMLSelectElement> selectContent(do_QueryInterface(aContainer));
if (!selectContent) {
// Perform special check for diddling around with the frames in
// a special inline frame.
if (WipeContainingBlock(aPresContext, state, blockContent, parentFrame, frameItems.childList)) {
return NS_OK;
}
} }
if (haveFirstLineStyle) { if (haveFirstLineStyle) {

Просмотреть файл

@ -6002,10 +6002,18 @@ nsCSSFrameConstructor::ContentInserted(nsIPresContext* aPresContext,
rv = ConstructFrame(aPresContext, state, aChild, parentFrame, frameItems); rv = ConstructFrame(aPresContext, state, aChild, parentFrame, frameItems);
// Perform special check for diddling around with the frames in // XXX Bug 19949
// a special inline frame. // Although select frame are inline we do not want to call
if (WipeContainingBlock(aPresContext, state, blockContent, parentFrame, frameItems.childList)) { // WipeContainingBlock because it will throw away the entire select frame and
return NS_OK; // start over which is something we do not want to do
//
nsCOMPtr<nsIDOMHTMLSelectElement> selectContent(do_QueryInterface(aContainer));
if (!selectContent) {
// Perform special check for diddling around with the frames in
// a special inline frame.
if (WipeContainingBlock(aPresContext, state, blockContent, parentFrame, frameItems.childList)) {
return NS_OK;
}
} }
if (haveFirstLineStyle) { if (haveFirstLineStyle) {