зеркало из https://github.com/mozilla/pjs.git
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:
Родитель
b22a4e72fd
Коммит
5bdf19f9b4
|
@ -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
|
||||||
|
|
Загрузка…
Ссылка в новой задаче