Fixed a crash when display www.sjmercury.com paginated, because we thought

we could re-use our cached cell desired info and we couldn't because there
was a next-in-flow frame and so we needed to reflow the cell frame and pull-up
its next-in-flow child frames
This commit is contained in:
troy%netscape.com 1998-12-16 05:41:57 +00:00
Родитель b22a4e72fd
Коммит 5bdf19f9b4
2 изменённых файлов: 12 добавлений и 4 удалений

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

@ -552,9 +552,13 @@ NS_METHOD nsTableRowFrame::ResizeReflow(nsIPresContext& aPresContext,
// then just use the previous desired size and max element size. // then just use the previous desired size and max element size.
// if we need the max-element-size we don't need to reflow. // if we need the max-element-size we don't need to reflow.
// we just grab it from the cell frame which remembers it (see the else clause below). // we just grab it from the cell frame which remembers it (see the else clause below).
// Note: we can't do that optimization if our height is constrained // Note: we can't do that optimization if our height is constrained or the
// cell frame has a next-in-flow
nsIFrame* kidNextInFlow;
kidFrame->GetNextInFlow(kidNextInFlow);
if ((aReflowState.reflowState.maxSize.height != NS_UNCONSTRAINEDSIZE) || if ((aReflowState.reflowState.maxSize.height != NS_UNCONSTRAINEDSIZE) ||
(availWidth != ((nsTableCellFrame *)kidFrame)->GetPriorAvailWidth())) (availWidth != ((nsTableCellFrame *)kidFrame)->GetPriorAvailWidth()) ||
(nsnull != kidNextInFlow))
{ {
// XXX TROY // XXX TROY
#if 0 #if 0

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

@ -552,9 +552,13 @@ NS_METHOD nsTableRowFrame::ResizeReflow(nsIPresContext& aPresContext,
// then just use the previous desired size and max element size. // then just use the previous desired size and max element size.
// if we need the max-element-size we don't need to reflow. // if we need the max-element-size we don't need to reflow.
// we just grab it from the cell frame which remembers it (see the else clause below). // we just grab it from the cell frame which remembers it (see the else clause below).
// Note: we can't do that optimization if our height is constrained // Note: we can't do that optimization if our height is constrained or the
// cell frame has a next-in-flow
nsIFrame* kidNextInFlow;
kidFrame->GetNextInFlow(kidNextInFlow);
if ((aReflowState.reflowState.maxSize.height != NS_UNCONSTRAINEDSIZE) || if ((aReflowState.reflowState.maxSize.height != NS_UNCONSTRAINEDSIZE) ||
(availWidth != ((nsTableCellFrame *)kidFrame)->GetPriorAvailWidth())) (availWidth != ((nsTableCellFrame *)kidFrame)->GetPriorAvailWidth()) ||
(nsnull != kidNextInFlow))
{ {
// XXX TROY // XXX TROY
#if 0 #if 0