| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index 5d8e90a90bdfd12a89e2345c62a2b50acd18563b..c0fa1a1b4f2cbf6f4ce65cbeb0ca148a26fc2791 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -2400,7 +2400,12 @@ void RenderObject::removeFromRenderFlowThread()
|
| // It's only until later when we actually destroy it and remove all the children from it.
|
| // Currently, that happens for firstLetter elements and list markers.
|
| // Pass in the flow thread so that we don't have to look it up for all the children.
|
| - removeFromRenderFlowThreadRecursive(flowThreadContainingBlock());
|
| + // If we're a column spanner, we need to use our parent to find the flow thread, since a spanner
|
| + // doesn't have the flow thread in its containing block chain. We still need to notify the flow
|
| + // thread when the renderer removed happens to be a spanner, so that we get rid of the spanner
|
| + // placeholder, and column sets around the placeholder get merged.
|
| + RenderFlowThread* flowThread = isColumnSpanAll() ? parent()->flowThreadContainingBlock() : flowThreadContainingBlock();
|
| + removeFromRenderFlowThreadRecursive(flowThread);
|
| }
|
|
|
| void RenderObject::removeFromRenderFlowThreadRecursive(RenderFlowThread* renderFlowThread)
|
| @@ -2413,6 +2418,7 @@ void RenderObject::removeFromRenderFlowThreadRecursive(RenderFlowThread* renderF
|
| if (renderFlowThread && renderFlowThread != this)
|
| renderFlowThread->flowThreadDescendantWillBeRemoved(this);
|
| setFlowThreadState(NotInsideFlowThread);
|
| + RELEASE_ASSERT(!spannerPlaceholder());
|
| }
|
|
|
| void RenderObject::destroyAndCleanupAnonymousWrappers()
|
|
|