Changeset 20410 in webkit


Ignore:
Timestamp:
Mar 22, 2007 3:14:03 PM (17 years ago)
Author:
bdakin
Message:

Patch by Hyatt, reviewed and committed by me.

Does not reproduce consistently, so a layout test does not seem
possible.

Fix for <rdar://problem/5082421> Constantly hitting ASSERT(!
needsLayout()) in RenderView::paint()

  • page/FrameView.cpp: (WebCore::FrameView::layoutPending): It is not enough to ask if the layout timer is active. There may be times that we don't have a body yet so we cannot schedule layout yet, but the root still needs layout.
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r20404 r20410  
     12007-03-22  Beth Dakin  <bdakin@apple.com>
     2
     3        Patch by Hyatt, reviewed and committed by me.
     4
     5        Does not reproduce consistently, so a layout test does not seem
     6        possible.
     7
     8        Fix for <rdar://problem/5082421> Constantly hitting ASSERT(!
     9        needsLayout()) in RenderView::paint()
     10
     11        * page/FrameView.cpp:
     12        (WebCore::FrameView::layoutPending): It is not enough to ask if the
     13        layout timer is active. There may be times that we don't have a
     14        body yet so we cannot schedule layout yet, but the root still needs
     15        layout. 
     16
    1172007-03-22  John Sullivan  <sullivan@apple.com>
    218
  • trunk/WebCore/page/FrameView.cpp

    r20385 r20410  
    693693bool FrameView::layoutPending() const
    694694{
    695     return d->layoutTimer.isActive();
     695    // It is possible that our document will not have a body yet. If this is the case,
     696    // then we are not allowed to schedule layouts yet, so there won't be a timer.
     697    RenderView* root = static_cast<RenderView*>(m_frame->renderer());
     698    return d->layoutTimer.isActive() || (root && root->needsLayout());
    696699}
    697700
Note: See TracChangeset for help on using the changeset viewer.