зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
9f7527d771
Коммит
c802915a2e
|
@ -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();
|
||||
|
|
Загрузка…
Ссылка в новой задаче