Closed Bug 535911 Opened 10 years ago Closed 10 years ago

"ASSERTION: aParentFrame has later continuations with kids?" with -moz-column

Categories

(Core :: Layout, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED

People

(Reporter: jruderman, Assigned: bzbarsky)

References

(Blocks 2 open bugs)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

Attached file testcase
###!!! ASSERTION: aParentFrame has later continuations with kids?: 'nextSibling || !aParentFrame->GetNextContinuation() || !aParentFrame->GetNextContinuation()->GetFirstChild(nsnull)', file /Users/jruderman/mozilla-central/layout/base/nsCSSFrameConstructor.cpp, line 5792
This is effectively a regression from bug 531148 but in this case the assert is actually bogus.  I should probably refactor some of this stuff into a DoAppendFrames that doesn't assert this assertion (because it's false in the recursive call case, as seen here).
Blocks: 531148
Attached patch Possible fixSplinter Review
This is ugly, but having a DoAppendFrames would involve either putting the "get the next sibling" code into a debug-only block in AppendFrames or something.  That code is needed on both the recursive codepath or the other one.

Alternately, I could make the argument non-debug-only, or I could make the asserts assert only if the first new frame is not the special sibling of aPrevSibling.  Let me know.
Assignee: nobody → bzbarsky
Status: NEW → ASSIGNED
Attachment #418961 - Flags: review?(roc)
Comment on attachment 418961 [details] [diff] [review]
Possible fix

I would just make the function always take the aIsRecursiveCall parameter, debug or not.
Attachment #418961 - Flags: review?(roc) → review+
Pushed http://hg.mozilla.org/mozilla-central/rev/8e1185b4a132 with that change.
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.