зеркало из https://github.com/mozilla/gecko-dev.git
Don't repeatedly reapply the carried out bottom margin when clearing long words past floats. Fixes infinite loop in the case where the margin is negative. b=153429 sr=bzbarsky r=roc+moz
This commit is contained in:
Родитель
cb597e3031
Коммит
9b467a5c57
|
@ -3766,6 +3766,13 @@ nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState& aState,
|
|||
"unconstrained height on totally empty line");
|
||||
|
||||
aState.mY += aState.mAvailSpaceRect.height;
|
||||
|
||||
// We don't want to advance by the bottom margin anymore (we did it
|
||||
// once at the beginning of this function, which will just be called
|
||||
// again), and we certainly don't want to go back if it's negative
|
||||
// (infinite loop, bug 153429).
|
||||
aState.mPrevBottomMargin.Zero();
|
||||
|
||||
// XXX: a small optimization can be done here when paginating:
|
||||
// if the new Y coordinate is past the end of the block then
|
||||
// push the line and return now instead of later on after we are
|
||||
|
|
|
@ -3766,6 +3766,13 @@ nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState& aState,
|
|||
"unconstrained height on totally empty line");
|
||||
|
||||
aState.mY += aState.mAvailSpaceRect.height;
|
||||
|
||||
// We don't want to advance by the bottom margin anymore (we did it
|
||||
// once at the beginning of this function, which will just be called
|
||||
// again), and we certainly don't want to go back if it's negative
|
||||
// (infinite loop, bug 153429).
|
||||
aState.mPrevBottomMargin.Zero();
|
||||
|
||||
// XXX: a small optimization can be done here when paginating:
|
||||
// if the new Y coordinate is past the end of the block then
|
||||
// push the line and return now instead of later on after we are
|
||||
|
|
Загрузка…
Ссылка в новой задаче