Index: Source/core/layout/LayoutState.cpp |
diff --git a/Source/core/layout/LayoutState.cpp b/Source/core/layout/LayoutState.cpp |
index 6f94933777207c0135cb8775a6a04cf7eb9a17a8..c14f2dfb4dae29220ad6cacb371d6a98f72a7175 100644 |
--- a/Source/core/layout/LayoutState.cpp |
+++ b/Source/core/layout/LayoutState.cpp |
@@ -52,7 +52,12 @@ LayoutState::LayoutState(LayoutBox& renderer, const LayoutSize& offset, LayoutUn |
, m_next(renderer.view()->layoutState()) |
, m_renderer(renderer) |
{ |
- m_flowThread = renderer.isLayoutFlowThread() ? toLayoutFlowThread(&renderer) : m_next->flowThread(); |
+ if (renderer.isLayoutFlowThread()) |
+ m_flowThread = toLayoutFlowThread(&renderer); |
+ else if (!renderer.isOutOfFlowPositioned() && !renderer.isColumnSpanAll()) |
+ m_flowThread = m_next->flowThread(); |
+ else |
+ m_flowThread = nullptr; |
renderer.view()->pushLayoutState(*this); |
bool fixed = renderer.isOutOfFlowPositioned() && renderer.style()->position() == FixedPosition; |
if (fixed) { |