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

RESOLVED FIXED

Status

()

Core
Layout
RESOLVED FIXED
9 years ago
9 years ago

People

(Reporter: Jesse Ruderman, Assigned: bz)

Tracking

(Blocks: 2 bugs, {assertion, testcase})

Trunk
x86
Mac OS X
assertion, testcase
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

9 years ago
Created attachment 418461 [details]
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
Created attachment 418961 [details] [diff] [review]
Possible fix

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
Last Resolved: 9 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.