ensure a correct overflow area, even if the overflow is clipped, it should be the frame size under these conditions bug = 260241 r/sr=dbaron

This commit is contained in:
bmlk%gmx.de 2004-09-19 09:50:41 +00:00
Родитель e95759d1ac
Коммит e0dfba476a
2 изменённых файлов: 8 добавлений и 4 удалений

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

@ -2071,13 +2071,15 @@ NS_METHOD nsTableFrame::Reflow(nsPresContext* aPresContext,
if (aDesiredSize.mFlags & NS_REFLOW_CALC_MAX_WIDTH) {
aDesiredSize.mMaximumWidth = GetPreferredWidth();
}
// make sure the table overflow area does include the table rect.
nsRect tableRect(0, 0, aDesiredSize.width, aDesiredSize.height) ;
if (!aReflowState.mStyleDisplay->IsTableClip()) {
// collapsed border may leak out
nsMargin bcMargin = GetBCMargin(aPresContext);
nsRect tableRect(0, 0, aDesiredSize.width, aDesiredSize.height) ;
tableRect.Inflate(bcMargin);
aDesiredSize.mOverflowArea.UnionRect(aDesiredSize.mOverflowArea, tableRect);
}
aDesiredSize.mOverflowArea.UnionRect(aDesiredSize.mOverflowArea, tableRect);
if (aReflowState.mFlags.mSpecialHeightReflow) {
SetNeedSpecialReflow(PR_FALSE);

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

@ -2071,13 +2071,15 @@ NS_METHOD nsTableFrame::Reflow(nsPresContext* aPresContext,
if (aDesiredSize.mFlags & NS_REFLOW_CALC_MAX_WIDTH) {
aDesiredSize.mMaximumWidth = GetPreferredWidth();
}
// make sure the table overflow area does include the table rect.
nsRect tableRect(0, 0, aDesiredSize.width, aDesiredSize.height) ;
if (!aReflowState.mStyleDisplay->IsTableClip()) {
// collapsed border may leak out
nsMargin bcMargin = GetBCMargin(aPresContext);
nsRect tableRect(0, 0, aDesiredSize.width, aDesiredSize.height) ;
tableRect.Inflate(bcMargin);
aDesiredSize.mOverflowArea.UnionRect(aDesiredSize.mOverflowArea, tableRect);
}
aDesiredSize.mOverflowArea.UnionRect(aDesiredSize.mOverflowArea, tableRect);
if (aReflowState.mFlags.mSpecialHeightReflow) {
SetNeedSpecialReflow(PR_FALSE);