Closed Bug 81268 Opened 24 years ago Closed 7 years ago

Investigate possible issues with recursive reflows

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

RESOLVED INCOMPLETE
Future

People

(Reporter: attinasi, Unassigned)

References

Details

(Keywords: perf, Whiteboard: dupme)

While investigating another problem, I put a check in nsFrame::WillReflow to
assert if the frame is already in a reflow. Strangely, this assert gets
triggered whenever I pop up a XUL-based dialog (preferences dialog in browser,
or table dialog in Composers, for example).

I cannot understand yet if we support recursive reflows in some cases, all
cases, or if this is a bug. The frame in question is always the ViewportFrame.
Here is the code I added:

NS_IMETHODIMP
nsFrame::WillReflow(nsIPresContext* aPresContext)
{
#ifdef DEBUG
  if (0 != (mState & NS_FRAME_IN_REFLOW)) {
    NS_ASSERTION(0 == (mState & NS_FRAME_IN_REFLOW),
                 "frame is already in reflow");
    nsresult rv = NS_OK;
  }
#endif

  NS_FRAME_TRACE_MSG(NS_FRAME_TRACE_CALLS,
                     ("WillReflow: oldState=%x", mState));
  mState |= NS_FRAME_IN_REFLOW;
  return NS_OK;
}


This bug is a reminder to investigate this...
*** Bug 81269 has been marked as a duplicate of this bug. ***
Target Milestone: --- → mozilla1.0.1
Keywords: perf
Blocks: 114584
Moving Mozilla 1.01 bugs to 'future' milestone with priority P1

I will be pulling bugs from 'future' milestones when scheduling later work.
Priority: -- → P1
Target Milestone: mozilla1.0.1 → Future
Think this problem has been mentioned elsewhere in the meantime, but cannot 
remember where ... hm.
OS: Windows 2000 → All
Hardware: PC → All
Whiteboard: dupme
Can someone help, as mentioned in comment #3 ?
Reassigning to other@layout.bugs for now until someone is willing to take it.
Assignee: attinasi → other
Target Milestone: Future → ---
Priority: P1 → P3
Target Milestone: --- → Future
Assignee: layout → nobody
QA Contact: chrispetersen → layout
nsFrame::WillReflow no longer exists.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.