L. David Baron wrote:
On Wednesday 2006-08-02 21:50 -0500, Boris Zbarsky wrote:
Setting the popup as a reflow root causes asserts in nsHTMLReflowState, since it's an unknown type of out-of-flow. So I think the right thing to

Is there any good reason popups shouldn't be reflow roots?  If not, then
they should be.

Conceptually, that would make a lot of sense to me. Is reflowing an nsBoxFrame equivalent to calling Layout() on the corresponding box? In any case, I'll try doing this.

Speaking of popups, it looks like the #if 0 in nsMenuFrame::GetAdditionalChildListName got removed on branch. This causes asserts about things still being in the primary frame map when they're being destroyed... The real issue seems to be that nsMenuFrame::Destroy changes attributes on the menupopup, which resets the primary frame for the menupopup, after which we call DestroyPopupFrames() and destroy the frame we just readded to the frame map. Not sure why the GetAdditionalChildListName code is really relevant here, but skipping over nsLayoutAtoms::popupList in DoDeletingFrameSubtree seems to help. Not sure why it does. Mats, you probably know this code best; any ideas on it?

-Boris
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout

Reply via email to