From f558a4c64fdb57875b192d7214a1a6c1375f7af1 Mon Sep 17 00:00:00 2001 From: "kipp%netscape.com" Date: Fri, 9 Oct 1998 23:56:29 +0000 Subject: [PATCH] Handle completion status better --- layout/generic/nsInlineFrame.cpp | 6 +++++- layout/html/base/src/nsInlineFrame.cpp | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/layout/generic/nsInlineFrame.cpp b/layout/generic/nsInlineFrame.cpp index e2e88cf25d01..a87e138b1b9b 100644 --- a/layout/generic/nsInlineFrame.cpp +++ b/layout/generic/nsInlineFrame.cpp @@ -714,6 +714,9 @@ nsInlineFrame::PullUpChildren(nsInlineReflowState& aState, nsIFrame* child = PullOneChild(nextInFlow, aState.mLastChild, reflowStatus); if (nsnull == child) { + if (NS_FRAME_NOT_COMPLETE == reflowStatus) { + break; + } nextInFlow = (nsInlineFrame*) nextInFlow->mNextInFlow; continue; } @@ -839,7 +842,8 @@ nsInlineFrame::ReflowFrame(nsInlineReflowState& aState, // left in them. nsInlineFrame* nextInFlow = (nsInlineFrame*) mNextInFlow; while (nsnull != nextInFlow) { - if (nsnull != nextInFlow->mFirstChild) { + if ((nsnull != nextInFlow->mFirstChild) || + (nsnull != nextInFlow->mOverflowList)) { // One of our next-in-flows has a child remaining. Therefore // we are not complete and must let our parent know so that // our parent doesn't accidently remove our next-in-flows! diff --git a/layout/html/base/src/nsInlineFrame.cpp b/layout/html/base/src/nsInlineFrame.cpp index e2e88cf25d01..a87e138b1b9b 100644 --- a/layout/html/base/src/nsInlineFrame.cpp +++ b/layout/html/base/src/nsInlineFrame.cpp @@ -714,6 +714,9 @@ nsInlineFrame::PullUpChildren(nsInlineReflowState& aState, nsIFrame* child = PullOneChild(nextInFlow, aState.mLastChild, reflowStatus); if (nsnull == child) { + if (NS_FRAME_NOT_COMPLETE == reflowStatus) { + break; + } nextInFlow = (nsInlineFrame*) nextInFlow->mNextInFlow; continue; } @@ -839,7 +842,8 @@ nsInlineFrame::ReflowFrame(nsInlineReflowState& aState, // left in them. nsInlineFrame* nextInFlow = (nsInlineFrame*) mNextInFlow; while (nsnull != nextInFlow) { - if (nsnull != nextInFlow->mFirstChild) { + if ((nsnull != nextInFlow->mFirstChild) || + (nsnull != nextInFlow->mOverflowList)) { // One of our next-in-flows has a child remaining. Therefore // we are not complete and must let our parent know so that // our parent doesn't accidently remove our next-in-flows!