Reviewed by Adam.

        Fix for <rdar://problem/5515426> NetNewsWire 3 crashes at launch in 
        WebCore::FrameView::layout (other repro scenarios too)

        The new call to updateWidget() that we added to FrameView::layout() 
        can destroy the RenderPartObject. And so we were crashing on the 
        subsequent call to updateWidgetPosition(). This patch fixes that by 
        checking to make sure the RenderPartObject is still in the HashSet 
        after updateWidget(). Because m_widgetUpdateSet can be modified 
        during the call to updateWidget(), we need it to be intact while we 
        are iterating through the copy, so we cannot use the HashSet::swap 
        call we were using before. This patch instead uses a Vector to 
        iterate through the HashSet data and calls clear() on the HashSet 
        at the end.

        * page/FrameView.cpp:
        (WebCore::FrameView::layout):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@25820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2 files changed