Added more bad-frame detection; fixed a purify caught bug

This commit is contained in:
kipp%netscape.com 1999-03-19 23:07:17 +00:00
parent 16b2389012
commit 06e27bfd9d
2 changed files with 28 additions and 2 deletions

View File

@ -730,6 +730,10 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
? &innerMaxElementSize
: nsnull);
#ifdef DEBUG
metrics.width = nscoord(0xdeadbeef);
metrics.height = nscoord(0xdeadbeef);
metrics.ascent = nscoord(0xdeadbeef);
metrics.descent = nscoord(0xdeadbeef);
if (mComputeMaxElementSize) {
metrics.maxElementSize->width = nscoord(0xdeadbeef);
metrics.maxElementSize->height = nscoord(0xdeadbeef);
@ -755,6 +759,15 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
metrics.maxElementSize->width = 0;
metrics.maxElementSize->height = 0;
}
if ((metrics.width == nscoord(0xdeadbeef)) ||
(metrics.height == nscoord(0xdeadbeef)) ||
(metrics.ascent == nscoord(0xdeadbeef)) ||
(metrics.descent == nscoord(0xdeadbeef))) {
printf("nsBlockReflowContext: ");
nsFrame::ListTag(stdout, aFrame);
printf(" didn't set whad %d,%d,%d,%d!\n", metrics.width, metrics.height,
metrics.ascent, metrics.descent);
}
#endif
aFrame->GetFrameState(&state);
@ -1267,7 +1280,7 @@ nsLineLayout::PlaceTopBottomFrames(PerSpanData* psd,
break;
}
if (span) {
nscoord distanceFromTop = distanceFromTop + pfd->mBounds.y;
nscoord distanceFromTop = aDistanceFromTop + pfd->mBounds.y;
PlaceTopBottomFrames(span, distanceFromTop, aLineHeight);
}
pfd = pfd->mNext;

View File

@ -730,6 +730,10 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
? &innerMaxElementSize
: nsnull);
#ifdef DEBUG
metrics.width = nscoord(0xdeadbeef);
metrics.height = nscoord(0xdeadbeef);
metrics.ascent = nscoord(0xdeadbeef);
metrics.descent = nscoord(0xdeadbeef);
if (mComputeMaxElementSize) {
metrics.maxElementSize->width = nscoord(0xdeadbeef);
metrics.maxElementSize->height = nscoord(0xdeadbeef);
@ -755,6 +759,15 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
metrics.maxElementSize->width = 0;
metrics.maxElementSize->height = 0;
}
if ((metrics.width == nscoord(0xdeadbeef)) ||
(metrics.height == nscoord(0xdeadbeef)) ||
(metrics.ascent == nscoord(0xdeadbeef)) ||
(metrics.descent == nscoord(0xdeadbeef))) {
printf("nsBlockReflowContext: ");
nsFrame::ListTag(stdout, aFrame);
printf(" didn't set whad %d,%d,%d,%d!\n", metrics.width, metrics.height,
metrics.ascent, metrics.descent);
}
#endif
aFrame->GetFrameState(&state);
@ -1267,7 +1280,7 @@ nsLineLayout::PlaceTopBottomFrames(PerSpanData* psd,
break;
}
if (span) {
nscoord distanceFromTop = distanceFromTop + pfd->mBounds.y;
nscoord distanceFromTop = aDistanceFromTop + pfd->mBounds.y;
PlaceTopBottomFrames(span, distanceFromTop, aLineHeight);
}
pfd = pfd->mNext;