Reviewed by Adam.
authorbdakin <bdakin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 1 Oct 2007 22:38:26 +0000 (22:38 +0000)
committerbdakin <bdakin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 1 Oct 2007 22:38:26 +0000 (22:38 +0000)
commitd52fa20b9c550f6cd9b672662f590aaf15692f8a
tree9b1e1573ecf2c3a28a64826c8d9e5394c4dd2fd5
parent0cd26d7dccc4d26233c83947791398682957c7a5
    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: https://svn.webkit.org/repository/webkit/trunk@25820 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/page/FrameView.cpp