if (line->mBounds.y >= aDirtyRect.YMost()) { break; }    if (line->mBounds.YMost() > aDirtyRect.y) {
if (line->OutsideChildren() || !((line->mBounds.YMost() <= aDirtyRect.y) || (line->mBounds.y >= aDirtyRect.YMost()))) {
nsBlockFrame::PaintChildren(nsIPresContext& aPresContext,                            nsIRenderingContext& aRenderingContext,                            const nsRect& aDirtyRect){  // Set clip rect so that children don't leak out of us, but only if  // we are supposed to.  const nsStyleDisplay* disp = (const nsStyleDisplay*)    mStyleContext->GetStyleData(eStyleStruct_Display);  PRBool hidden = PR_FALSE;  if (NS_STYLE_OVERFLOW_HIDDEN == disp->mOverflow) {    PRBool clipState;    aRenderingContext.PushState();    aRenderingContext.SetClipRect(nsRect(0, 0, mRect.width, mRect.height),                                  nsClipCombine_kIntersect, clipState);    hidden = PR_TRUE;  }  // See if we should render everything, or just what can be seen  PRBool renderEverything = PR_TRUE;  if (NS_STYLE_OVERFLOW_VISIBLE != disp->mOverflow) {    renderEverything = PR_FALSE;  }  renderEverything = PR_FALSE;  if ((nsnull == mPrevInFlow) && (nsnull != mBullet)) {    const nsStyleList* list;    GetStyleData(eStyleStruct_List, (const nsStyleStruct*&)list);    if (NS_STYLE_LIST_STYLE_POSITION_OUTSIDE == list->mListStylePosition) {      // Paint the bullet too      PaintChild(aPresContext, aRenderingContext, aDirtyRect, mBullet,                 PR_TRUE);    }  }//XXX ListTag(stdout); printf(": overflow=%d dirtyRect={%d,%d,%d,%d}\n", disp->mOverflow, aDirtyRect);  // Iterate the lines looking for lines that intersect the dirty rect  for (LineData* line = mLines; nsnull != line; line = line->mNext) {    // Stop when we get to a line that's below the dirty rect    if (line->mBounds.y >= aDirtyRect.YMost()) {      break;    }    // If the line overlaps the dirty rect then iterate the child frames    // and paint those frames that intersect the dirty rect    if (line->mBounds.YMost() > aDirtyRect.y) {      nsIFrame* kid = line->mFirstChild;      for (PRUint16 i = 0; i < line->mChildCount; i++) {        PaintChild(aPresContext, aRenderingContext, aDirtyRect, kid,                   renderEverything);        kid->GetNextSibling(kid);      }    }  }  if (hidden) {    PRBool clipState;    aRenderingContext.PopState(clipState);  }}