Fix for bug #18622 (UMR in nsLineLayout::CanPlaceFrame)

nsLineLayout::ReflowFrame() now sets some of the psd flags before
calling aFrame->Reflow().
r=troy@netscape.com,norris@netscape.com  a=chofmann@netscape.com
This commit is contained in:
kin%netscape.com 1999-12-10 18:41:43 +00:00
Родитель 9f7527d771
Коммит c802915a2e
2 изменённых файлов: 12 добавлений и 8 удалений

Просмотреть файл

@ -952,16 +952,18 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
nscoord tx = x - psd->mReflowState->mComputedBorderPadding.left;
nscoord ty = y - psd->mReflowState->mComputedBorderPadding.top;
mSpaceManager->Translate(tx, ty);
pfd->mIsTextFrame = PR_FALSE;
pfd->mIsLetterFrame = PR_FALSE;
pfd->mIsNonEmptyTextFrame = PR_FALSE;
pfd->mIsSticky = PR_FALSE;
aFrame->Reflow(mPresContext, metrics, reflowState, aReflowStatus);
// XXX See if the frame is a placeholderFrame and if it is process
// the floater.
nsIAtom* frameType;
aFrame->GetFrameType(&frameType);
pfd->mIsTextFrame = PR_FALSE;
pfd->mIsLetterFrame = PR_FALSE;
pfd->mIsNonEmptyTextFrame = PR_FALSE;
pfd->mIsSticky = PR_FALSE;
if (frameType) {
if (frameType == nsLayoutAtoms::placeholderFrame) {
nsIFrame* outOfFlowFrame = ((nsPlaceholderFrame*)aFrame)->GetOutOfFlowFrame();

Просмотреть файл

@ -952,16 +952,18 @@ nsLineLayout::ReflowFrame(nsIFrame* aFrame,
nscoord tx = x - psd->mReflowState->mComputedBorderPadding.left;
nscoord ty = y - psd->mReflowState->mComputedBorderPadding.top;
mSpaceManager->Translate(tx, ty);
pfd->mIsTextFrame = PR_FALSE;
pfd->mIsLetterFrame = PR_FALSE;
pfd->mIsNonEmptyTextFrame = PR_FALSE;
pfd->mIsSticky = PR_FALSE;
aFrame->Reflow(mPresContext, metrics, reflowState, aReflowStatus);
// XXX See if the frame is a placeholderFrame and if it is process
// the floater.
nsIAtom* frameType;
aFrame->GetFrameType(&frameType);
pfd->mIsTextFrame = PR_FALSE;
pfd->mIsLetterFrame = PR_FALSE;
pfd->mIsNonEmptyTextFrame = PR_FALSE;
pfd->mIsSticky = PR_FALSE;
if (frameType) {
if (frameType == nsLayoutAtoms::placeholderFrame) {
nsIFrame* outOfFlowFrame = ((nsPlaceholderFrame*)aFrame)->GetOutOfFlowFrame();