Closed Bug 621841 Opened 9 years ago Closed 9 years ago
"ASSERTION: Reflow hint bits set without actually asking for a reflow"
###!!! ASSERTION: Must have data if restyle bit is set: 'gotData', file layout/base/RestyleTracker.cpp, line 300 ###!!! ASSERTION: Reflow hint bits set without actually asking for a reflow: '!(aHint & nsChangeHint_ReflowFrame) || (aHint & nsChangeHint_NeedReflow)', file layout/base/nsStyleChangeList.cpp, line 100 ###!!! ASSERTION: Reflow hint bits set without actually asking for a reflow: '!(hint & nsChangeHint_ReflowFrame) || (hint & nsChangeHint_NeedReflow)', file layout/base/nsCSSFrameConstructor.cpp, line 8000
I can reproduce that first assertion, but not the other two. I'll post a patch for that first assert, but could you check whether it fixes the other two for you?
Assignee: nobody → bzbarsky
Priority: -- → P1
Whiteboard: [need review]
What is frameset doing that's special here and requires all this bit-mangling?
It handles constructing frames for its children by hand instead of going through the frame constructor. From the frame constructor's point of view, frameset is a leaf frame... The code I'm adding here is basically a copy of what we do in ProcessChildren in the frame constructor, like the comments say.
Comment on attachment 500248 [details] [diff] [review] Clear restyle flags in frameset kids when we process them. ok, r=dbaron
Attachment #500248 - Flags: review?(dbaron) → review+
Whiteboard: [need review] → [need gk2 ship]
Yes, this patch fixes all the assertions for me.
Whiteboard: [need gk2 ship] → fixed-in-birch
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla2.2
Component: Layout: HTML Frames → Layout: Images
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.