| Index: Source/WebCore/rendering/RenderObject.cpp
|
| ===================================================================
|
| --- Source/WebCore/rendering/RenderObject.cpp (revision 109456)
|
| +++ Source/WebCore/rendering/RenderObject.cpp (working copy)
|
| @@ -2217,6 +2217,21 @@
|
| return st == SelectionStart || st == SelectionEnd || st == SelectionBoth;
|
| }
|
|
|
| +inline void RenderObject::clearLayoutRootIfNeeded() const
|
| +{
|
| + if (node() && !documentBeingDestroyed() && frame()) {
|
| + if (FrameView* view = frame()->view()) {
|
| + if (view->layoutRoot() == this) {
|
| + ASSERT_NOT_REACHED();
|
| + // This indicates a failure to layout the child, which is why
|
| + // the layout root is still set to |this|. Make sure to clear it
|
| + // since we are getting destroyed.
|
| + view->clearLayoutRoot();
|
| + }
|
| + }
|
| + }
|
| +}
|
| +
|
| void RenderObject::willBeDestroyed()
|
| {
|
| // Destroy any leftover anonymous children.
|
| @@ -2255,6 +2270,8 @@
|
| setHasLayer(false);
|
| toRenderBoxModelObject(this)->destroyLayer();
|
| }
|
| +
|
| + clearLayoutRootIfNeeded();
|
| }
|
|
|
| void RenderObject::destroy()
|
|
|