if (prevInFlow->mOverflowFrames.NotEmpty()) { mFrames.InsertFrames(this, nsnull, prevInFlow->mOverflowFrames); changedFirstFrame = PR_TRUE;
nsIFrame* prevOverflowFrames = prevInFlow->GetOverflowFrames(aPresContext, PR_TRUE);  if (prevOverflowFrames) {   for (nsIFrame* f = prevOverflowFrames; f; f->GetNextSibling(&f)) { nsHTMLContainerFrame::ReparentFrameView(aPresContext, f, prevInFlow, this); } mFrames.InsertFrames(this, nsnull, prevOverflowFrames);
nsInlineFrame::DrainOverflow(){  PRBool changedFirstFrame = PR_FALSE;  // Check for an overflow list with our prev-in-flow  nsInlineFrame* prevInFlow = (nsInlineFrame*)mPrevInFlow;  if (nsnull != prevInFlow) {    if (prevInFlow->mOverflowFrames.NotEmpty()) {      mFrames.InsertFrames(this, nsnull, prevInFlow->mOverflowFrames);      changedFirstFrame = PR_TRUE;    }  }  // It's also possible that we have an overflow list for ourselves  if (mOverflowFrames.NotEmpty()) {    NS_ASSERTION(mFrames.NotEmpty(), "overflow list w/o frames");    mFrames.Join(nsnull, mOverflowFrames);  }#ifdef HAVE_ANONYMOUS_BLOCK  if (changedFirstFrame) {    // Update our HAVE_ANONYMOUS_BLOCK state bit in case our first    // child has changed to a new frame.    nsIFrame* frame = mFrames.FirstChild();    if (nsLineLayout::TreatFrameAsBlock(frame)) {      mState |= HAVE_ANONYMOUS_BLOCK;    }    else {      mState &= ~HAVE_ANONYMOUS_BLOCK;    }  }#endif}