Closed Bug 1153764 Opened 9 years ago Closed 9 years ago

"ASSERTION: float manager state should match saved state" with ruby

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla40
Tracking Status
firefox40 --- fixed

People

(Reporter: jruderman, Assigned: xidorn)

References

Details

(Keywords: assertion, testcase)

Attachments

(3 files)

Attached file testcase
###!!! ASSERTION: float manager state should match saved state: 'aState->mLineLeft == mLineLeft && aState->mBlockStart == mBlockStart && aState->mPushedLeftFloatPastBreak == mPushedLeftFloatPastBreak && aState->mPushedRightFloatPastBreak == mPushedRightFloatPastBreak && aState->mSplitLeftFloatAcrossBreak == mSplitLeftFloatAcrossBreak && aState->mSplitRightFloatAcrossBreak == mSplitRightFloatAcrossBreak && aState->mFloatInfoCount == mFloats.Length()', file layout/generic/nsFloatManager.h, line 300

(That's quite a conjunction for a single assertion!)
Attached file stack
OS: Mac OS X → All
Hardware: x86_64 → All
Attached patch patchSplinter Review
The explicit check of optional break opportunity removed in this patch doesn't interact well with float management code in block frame.

Actually, when a container frame which may contain float element triggers line
> *aLineReflowStatus = LINE_REFLOW_REDO_NEXT_BAND;
in nsBlockFrame::ReflowInlineFrame could cause this assertion.

After this patch, the line breaks originally handled here will be handled in standard way, via overflow backup and optional break opportunity in the ruby base.
Assignee: nobody → quanxunzhen
Attachment #8592053 - Flags: review?(roc)
https://hg.mozilla.org/mozilla-central/rev/c5af0320f177
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: