We should be using the (relatively new) nsFrameList::Enumerator class for frame-list-iteration where possible, instead of directly walking a frame list. nsColumnSetFrame::BuildDisplayList currently walks directly over its child list. Filing this bug on switching it to using nsFrameList::Enumerator.
Created attachment 652955 [details] [diff] [review] fix FWIW, I just cribbed the Enumerator "for" loop line from here: http://mxr.mozilla.org/mozilla-central/source/layout/tables/nsTableRowGroupFrame.cpp#43
I'm curious whether you guys think the intent was that we use nsFrameList::Enumerator this way. (I originally suggested it to dholbert, but then he pointed out that code like this wasn't converted when nsFrameList::Enumerator was introduced.)
Yes, I think the intent was to convert frame list loops in this way. I certainly do it whenever I get the chance. Please r- me if you see I don't :-)
Comment on attachment 652955 [details] [diff] [review] fix r=dbaron