Index: Source/core/layout/LayoutTableSection.cpp |
diff --git a/Source/core/layout/LayoutTableSection.cpp b/Source/core/layout/LayoutTableSection.cpp |
index 7183a5c25dfb74a4139dcf6f8ee89d42644c5b22..b9734bc42e5d4a6075f666f02bf39f0da0850571 100644 |
--- a/Source/core/layout/LayoutTableSection.cpp |
+++ b/Source/core/layout/LayoutTableSection.cpp |
@@ -814,6 +814,12 @@ void LayoutTableSection::layout() |
} |
int tableLayoutLogicalWidth = columnPos[endCol] - columnPos[startColumn] - table()->hBorderSpacing(); |
cell->setCellLogicalWidth(tableLayoutLogicalWidth, layouter); |
+ |
+ if (cell->needsRecalcLogicalWidthAfterLayoutChildren()) { |
+ cell->clearNeedsRecalcLogicalWidthAfterLayoutChildren(); |
+ cell->setPreferredLogicalWidthsDirty(MarkOnlyThis); |
+ table()->setNeedsRecalcLogicalWidthAfterLayoutChildren(); |
+ } |
} |
if (LayoutTableRow* rowLayoutObject = m_grid[r].rowLayoutObject) { |