Bug 391894: Make recursive call to CollectFloats on children in overflowList. r=roc sr=roc approval1.9=roc

This commit is contained in:
2007-09-24 13:21:41 -07:00
parent 690a4790d8
commit 1cea9f4e36

View File

@@ -6511,7 +6511,7 @@ nsBlockFrame::ReflowBullet(nsBlockReflowState& aState,
}
// This is used to scan frames for any float placeholders, add their
// floats to the list represented by aHead and aTail, and remove the
// floats to the list represented by aList and aTail, and remove the
// floats from whatever list they might be in. We don't search descendants
// that are float containing blocks. The floats must be children of 'this'.
void nsBlockFrame::CollectFloats(nsIFrame* aFrame, nsFrameList& aList, nsIFrame** aTail,
@@ -6537,8 +6537,13 @@ void nsBlockFrame::CollectFloats(nsIFrame* aFrame, nsFrameList& aList, nsIFrame*
*aTail = outOfFlowFrame;
}
CollectFloats(aFrame->GetFirstChild(nsnull), aList, aTail, aFromOverflow,
PR_TRUE);
CollectFloats(aFrame->GetFirstChild(nsnull),
aList, aTail, aFromOverflow, PR_TRUE);
// Note: Even though we're calling CollectFloats on aFrame's overflow
// list, we'll pass down aFromOverflow unchanged because we're still
// traversing the normal-child subtree of the 'this' frame.
CollectFloats(aFrame->GetFirstChild(nsGkAtoms::overflowList),
aList, aTail, aFromOverflow, PR_TRUE);
}
if (!aCollectSiblings)
break;