| Index: Source/core/layout/LayoutFlowThread.cpp
|
| diff --git a/Source/core/layout/LayoutFlowThread.cpp b/Source/core/layout/LayoutFlowThread.cpp
|
| index c0ba41a2044929fe3402946925907d600cacd81d..90fba5ebcf78f417cddd967f1e0da87c0fbbafd3 100644
|
| --- a/Source/core/layout/LayoutFlowThread.cpp
|
| +++ b/Source/core/layout/LayoutFlowThread.cpp
|
| @@ -48,6 +48,13 @@ void LayoutFlowThread::removeColumnSetFromThread(LayoutMultiColumnSet* columnSet
|
| {
|
| ASSERT(columnSet);
|
| m_multiColumnSetList.remove(columnSet);
|
| + invalidateColumnSets();
|
| + // Clear the interval tree right away, instead of leaving it around with dead objects. Not that
|
| + // anyone _should_ try to access the interval tree when the column sets are marked as invalid,
|
| + // but this is actually possible if other parts of the engine has bugs that cause us to not lay
|
| + // out everything that was marked for layout, so that LayoutObject::assertLaidOut() (and a LOT
|
| + // of other assertions) fails.
|
| + m_multiColumnSetIntervalTree.clear();
|
| }
|
|
|
| void LayoutFlowThread::invalidateColumnSets()
|
|
|