if (overlap || aAlwaysRender) {
nsBlockFrame::PaintChild(nsIPresContext& aPresContext,                         nsIRenderingContext& aRenderingContext,                         const nsRect& aDirtyRect,                         nsIFrame* aFrame,                         PRBool aClip){  nsIView *pView;  aFrame->GetView(pView);  if (nsnull == pView) {    nsRect kidRect;    aFrame->GetRect(kidRect);    nsRect damageArea;#ifdef NS_DEBUG    PRBool overlap = PR_FALSE;    if (nsIFrame::GetShowFrameBorders() &&        ((kidRect.width == 0) || (kidRect.height == 0))) {      nscoord xmost = aDirtyRect.XMost();      nscoord ymost = aDirtyRect.YMost();      if ((aDirtyRect.x <= kidRect.x) && (kidRect.x < xmost) &&          (aDirtyRect.y <= kidRect.y) && (kidRect.y < ymost)) {        overlap = PR_TRUE;      }    }    else {      overlap = damageArea.IntersectRect(aDirtyRect, kidRect);    }#else    PRBool overlap = damageArea.IntersectRect(aDirtyRect, kidRect);#endif    if (overlap || !aClip) {      // Translate damage area into kid's coordinate system      nsRect kidDamageArea(damageArea.x - kidRect.x,                           damageArea.y - kidRect.y,                           damageArea.width, damageArea.height);      aRenderingContext.PushState();      aRenderingContext.Translate(kidRect.x, kidRect.y);      aFrame->Paint(aPresContext, aRenderingContext, kidDamageArea);#ifdef NS_DEBUG      if (nsIFrame::GetShowFrameBorders() &&          (0 != kidRect.width) && (0 != kidRect.height)) {        nsIView* view;        GetView(view);        if (nsnull != view) {          aRenderingContext.SetColor(NS_RGB(0,0,255));        }        else {          aRenderingContext.SetColor(NS_RGB(255,0,0));        }        aRenderingContext.DrawRect(0, 0, kidRect.width, kidRect.height);      }#endif      aRenderingContext.PopState();    }  }}